我要根据用户单击的关闭按钮删除一个div,所以我使用的是eq(),问题是,例如,用户单击eq(0),第一个会说一些(如预期的那样) ),但第二个div也被认为是eq(0)和一些。就好像我关闭了div eq(0)一样,其他两个div也关闭了,就好像它们是eq(0)一样,但这一切都只需要点击div eq(0)就可以了。只有一个,我已经尝试过使用stopImmediatePropagation(),但是当我关闭一个div时,它会关闭所有上述内容,而当我不使用它时,它们都将关闭!有人知道是什么问题吗?
以下是eq()代码的示例:
$('.' + tabHistoryBtn).click(function() { //close button
var index = $(this).index();
if(index == 0){
$('.' + currentDivTabBarContent).eq(0).remove(); //content to remove
$('.' + tabHistory).eq(0).remove();
if(currentbtn == "home"){
countContentHome = countContentHome -1;
}if(currentbtn == "explore"){
countContentExplore = countContentExplore -1;
}
alert("1");
}
if(index == 1){
$('.' + currentDivTabBarContent).eq(1).remove();
$('.' + tabHistory).eq(1).remove();
if(currentbtn == "home"){
countContentHome = countContentHome -1;
}if(currentbtn == "explore"){
countContentExplore = countContentExplore -1;
}
alert("2");
}
if(index == 2){
$('.' + currentDivTabBarContent).eq(2).remove();
$('.' + tabHistory).eq(2).remove();
if(currentbtn == "home"){
countContentHome = countContentHome -1;
}if(currentbtn == "explore"){
countContentExplore = countContentExplore -1;
}
alert("3");
}
});
这是Jsfiddle,其中包含完整的代码:http://jsfiddle.net/willianjohns/w5eLs8d4/16/
答案 0 :(得分:1)
var index = $(this).index();
始终返回0。将其替换为$('.' + tabHistoryBtn).index(this)
将达到您的期望。
http://api.jquery.com/index有关如何使用$ .index()的更多信息