江励志
2016-08-25 11:22
$("button:last").click(function() {
//遍历所有的li
//修改偶数li内的字体颜色
$("ul").each(function(index, element) {
if (index%2) {
$(this).css('color','blue')
}
})
})
黑色的地方是修改的节点。
点击回调按钮后只有第二个框变蓝
而且修改之后,先点击each()方法遍历li元素让所有li里的字变红,再点击回调按钮后,字体无法变蓝
首先第一个问题, if(index%2)=if(true),因为index%2 = 1嘛。
所以当你把节点换成ul后,只有1%2=1为真,所以其他都是false,就只有第2个ul有效果了。
注:索引是从0开始。
第二个问题,因为此时里面this的指向是ul了,而ul下又没其他文本内容,当然就看不出效果了。
<script type="text/javascript">
$("button:last").click(function() {
//遍历所有的li
//修改偶数li内的字体颜色
$("ul").each(function(index, element) {
if (index % 2) {
$(this).css('color','blue')
}
})
})
</script>
jQuery基础(二)—DOM篇
114012 学习 · 590 问题
相似问题