RT!
當(dāng)點擊列表A中的某一行并執(zhí)行刪除事件,然后刪除列表B內(nèi)的對應(yīng)的行,我想通過索引的方法實現(xiàn)。
但我在第一次執(zhí)行刪除事件的時候,對應(yīng)列表內(nèi)刪除的是正確的對應(yīng)行,但第二次執(zhí)行事件的時候,列表A和B被刪除的行就對應(yīng)不不上了,好像是列表A索引值,也就是發(fā)生點擊事件的列表,就算刪除了行,他的索引也不會變,但列表B中的索引就會自動減-,我用 自減減 的方法去調(diào)試,怎么弄都不行,折騰一天了,實在是找不出問題所在了。希望大神解惑?。?!
下面是我寫的測試代碼
<ul id="list-1">
<li>我是列表list-1下的 舊內(nèi)容 不刪</li>
<li>我是列表list-1下的 舊內(nèi)容 不刪</li>
<li>我是列表list-1下的 舊內(nèi)容 不刪</li>
<li>我是列表list-2動態(tài)添加過來的新內(nèi)容第 0 條</li>
<li>我是列表list-2動態(tài)添加過來的新內(nèi)容第 1 條</li>
<li>我是列表list-2動態(tài)添加過來的新內(nèi)容第 2 條</li>
<li>我是列表list-2動態(tài)添加過來的新內(nèi)容第 3 條</li>
</ul>
<ul id="list-2">
<li>我是列表list-2下的新內(nèi)容第 0 條<input type="button" value="刪除"></li>
<li>我是列表list-2下的新內(nèi)容第 1 條<input type="button" value="刪除"></li>
<li>我是列表list-2下的新內(nèi)容第 2 條<input type="button" value="刪除"></li>
<li>我是列表list-2下的新內(nèi)容第 3 條<input type="button" value="刪除"></li>
</ul>
<script>
$(function () {
var x = $('#list-1 li').length;
var y = $('#list-2 li').length;
z = x - y;
index = 0;
$('#list-2 li').each(function(index) {
$(this).on('click', function() {
$(this).remove();
var a = index+z;
$('#list-1 li').eq(a).remove();
alert(index)
});
});
})
</script>
簡單的做法是, 為 list01 列表里的每一項添加一個 data-xxx 屬性, 點擊的時候
查詢 list02 里相同 data-xxx 屬性的 li, 然后刪除.
demo
汗.... 這種問題需要搞一天嗎?
each里面的index是初始化的時候就確定了的,是1始終就是1,是2始終就是2,應(yīng)該使用元素當(dāng)前的index去刪除另外一個列表。
$('#list-2 li').each(function() {
$(this).on('click', function() {
$('#list-1 li').eq($(this).index()+z).remove();
$(this).remove();
});
});
廢話不多說,看代碼吧:
http://jsfiddle.net/m6vhks4g/
有空到我的網(wǎng)站逛逛,新站沒什么流量:http://www.aizelasi.club/