javascript - jQuery eq() 选择太多元素

标签 javascript jquery html removechild

我根据用户点击的关闭按钮删除一个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/

最佳答案

var index = $(this).index(); 始终返回 0。将其替换为 $('.' + tabHistoryBtn).index(this) 将做你所期望的。

http://api.jquery.com/index有关如何使用 $.index() 的更多信息

关于javascript - jQuery eq() 选择太多元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54012215/

相关文章:

javascript - D3 map 投影不显示 map

javascript - Reactjs-router-dom 和 cordova 总是直接指向文件 :///android_asset/www/index. html

javascript - 当用户返回页面时保存最后一个表过滤查询

javascript - 无法在 asp.net core 中使用 ajax 将 json 发布到 Controller

javascript - 隐藏表中的元素会导致列移动

html - 在怪癖模式下,是否可以将 img 的大小调整为其包含的表格单元格?

jQuery submit() 不能同时与 click() 一起使用?

javascript - JScript 正则表达式 - 在包含 1 次或多次出现的另一个词的 2 个词之间提取子字符串

javascript - 在 iframe 中获取带有 class 的元素

javascript - 在复选框勾选上隐藏表行内容