this.style.color中的this代表什么对象?

来源:百度知道 编辑:UC知道 时间:2024/05/15 07:27:33
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<style>
body {color:black}
</style>
<script type="text/javascript">
function shijian(){

var li = document.getElementsByTagName("li");//返回的是一个数组
for(var i=0; i<li.length; i++){
//绑定鼠标悬停事件处理函数到<li>元素上
li[i].onmouseover = function(){
this.style.color = "blue"
}
li[i].onmouseout = function(){

this.style.color = "black";
}
}

}
</script>
<body onload="shijian()&

this 是只本身.
这里应该指的是 整个html 文件你可以这么理解.
因为是主体在运行function

而这个主体有document
然后内部运行许多个function

问题补充:那么可以把this.style.color替换为:li[i].style.color吗?
不行的

你可以把
var li = document.getElementsByTagName("li");
换成
var li = this.document.getElementsByTagName("li");

这样理解了没

this.style.color 修改的是这里的颜色:
<style>
body {color:black}
</style>

这里的this指的是每一个li对象,程序通过循环,给每一个li加上了一个鼠标移过上面的事件,即鼠标移到li上时,li的文字颜色变成黑色!

当前对象本身!

就是你鼠标滑过的那个li对象啊