Jquery對象合并后index值為什么沒有變化?
網(wǎng)友解答: $.extend是把兩個對象合并,前提是兩個對象里面的key不一樣,比如下面這個$.extend({},{name:"Tom",age:21},{name:"Jerry",s
$.extend是把兩個對象合并,前提是兩個對象里面的key不一樣,比如下面這個$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"})合并以后就是{name:"Jerry",age:21,sex:"Boy"}。
你現(xiàn)在的做法是將兩個jquery容器對象進行合并,我測試了一下你的代碼,合并的時候會把第二個對象$(‘right’)與第一個合并,合并的原則應(yīng)該是后面的替換前面的,所以用了你現(xiàn)在的方法以后all其實相當(dāng)于是$('right')這個對象。因此只能出發(fā)right里面li對應(yīng)的鼠標(biāo)事件。
根據(jù)你的描述index值沒有發(fā)生變化,應(yīng)該是已經(jīng)合并成功了吧!假如你現(xiàn)在合并成功會有一個問題,left和right里面的li索引(index)都是根據(jù)父對象進行排序的,你合并之后肯定還是兩個對象,所以索引還是跟以前一樣。
通過下面這個方法可以把所有l(wèi)eft和right的li取出來,但是索引同樣還是跟之前一樣,同理li依然按照父容器進行索引排序。
如果純粹要把right里面的li放到left里面,可以用append方法(給對象添加子對象)。你可以通過$("#left").append($("#right").children())把right的子對象放到left里面,這是頁面呈現(xiàn)的時候right里面的li會進入left里面,而right將變成一個空容器。
所有的li都在left里面index的值才會重新排列。