JavaScript入门级问题 财富值41

2016-10-18 17:04发布

    for(var i=0;i<li.length;i++){         li[i].onclick = function(){             for(var j=0; j<li.length; j++) {                 if (this == li[j]) {                     li[j].className = "on";                     div[j].className = "box active";                 }                 else {                     li[j].className = "";                     div[j].className = "box";                 }             }         }     }

this == li[j] 这怎么理解啊?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答

这段代码应该是用在一个DOM标签的管理样式上,这里其实要分成2部看代码,首先是代码对所有的li数组元素(应该是DOM对象)绑定了onclick行为处理函数,该函数的处理是判断 触发点击的对象(就是this对象)是否和li数组某个对象是同一个对象,是的话进行系列处理,不是又进行另外一些处理。
需要注意的是所有DOM的onclick行为都会默认传递一个this对象,表明当前触发onclick的DOM是哪一个。

mishen - whatsns产品经理
2楼-- · 2016-10-18 17:36

意思:当被点击的那个li刚好是第j个时。
作用:用来找到被点击的那个li元素。

一周热门 更多>