$("li").css('')和$("li").each有什么區(qū)別嗎?
$("li").css('')
和
$("li").each(function (index,element) { $(this).css(''); ?})
有什么區(qū)別嗎?
下面這樣寫為什么只改變了第一個li的樣式,each相當于for循環(huán)那不應該三個都變嗎
$("li").each(function (index,element) {
? ?$(this).eq(index).css('background','red');
})
2018-01-15
至于你說的為什么只改變了第一個,this是指向當前的這一個li,所以$(this).eq(index)每一次操作的時候是對一個元素的操作,index=0時,第一個就相當于 第一個li.eq(0) 所以取了,但是index=1之后,eq(1),eq(2)取第二個第三個元素對吧,但是$(this)每次只有一個,所以不可能取到。 你alert($(this).eq(index))可以看到的。
2018-02-24
????這個的區(qū)別就是$("li").css("需要添加的樣式")相當于$("li").each(function(){ $(this).css(需要添加的樣式) }),
只不過.css()方法已經(jīng)把后面我寫的each()以及回調(diào)函數(shù)給封裝起來了,你看不見,你只需要給它“需要添加的樣式”這個參數(shù)就行了,這也是面對對象的概念,注重做什么,不關注怎么做的,這里講each()是因為,each()方法我們平時迭代也可以用的到
2018-01-15
$("li").css('')和$("li").each的區(qū)別:通過$()方法找到指定的元素合集后可以進行一系列的操作。比如我們操作$("li").css('') 給所有的li設置style值,因為jQuery是一個合集對象,所以[css方法內(nèi)部就必須封裝一個遍歷的方法],被稱為隱式迭代的過程。要一個一個給合集中每一個li設置顏色,這里方法就是[each],學each()方法是給你一個遍歷的jq方法方便自己定義fun,css()里面已經(jīng)封裝了。
2018-01-15
你這種寫法我轉換下:
for(index=0;index<3;index++)
{
li[index].eq(index)
}
這個li[index]本身就只有一個元素,下表為0的時候取到本身,下標大于0之后沒有取得呢。
望采納,一起學習。
2018-01-15
?$(this).eq(index).css('background','red'); 問題出在eq(index)上,因為外面用了each,所以你這里的$(this)就相當于已經(jīng)遍歷過了,這里的$(this)就已經(jīng)起到了你加eq()想讓他遍歷的愿望。