將節點修改為ul為什么只有第二個框里的字變藍色了
?$("button:last").click(function() {
? ? ? ? //遍歷所有的li
? ? ? ? //修改偶數li內的字體顏色
? ? ? ? $("ul").each(function(index, element) {
? ? ? ? ? ? if (index%2) {
? ? ? ? ? ? ? ? $(this).css('color','blue')
? ? ? ? ? ? }
? ? ? ? })
? ? })
黑色的地方是修改的節點。
點擊回調按鈕后只有第二個框變藍
而且修改之后,先點擊each()方法遍歷li元素讓所有li里的字變紅,再點擊回調按鈕后,字體無法變藍
2016-08-25
首先第一個問題, if(index%2)=if(true),因為index%2 = 1嘛。
所以當你把節點換成ul后,只有1%2=1為真,所以其他都是false,就只有第2個ul有效果了。
注:索引是從0開始。
第二個問題,因為此時里面this的指向是ul了,而ul下又沒其他文本內容,當然就看不出效果了。
2016-08-25
<script type="text/javascript">
??? $("button:last").click(function() {
??????? //遍歷所有的li
??????? //修改偶數li內的字體顏色
??????? $("ul").each(function(index, element) {
??????????? if (index % 2) {
??????????????? $(this).css('color','blue')
??????????? }
??????? })
??? })
??? </script>