gpt4 book ai didi

javascript - 为什么我的 jquery 删除列表中的第一个元素而不是指定的元素?

转载 作者:行者123 更新时间:2023-11-28 18:57:55 25 4
gpt4 key购买 nike

我正在尝试使用 .each() 循环遍历 html 中的列表,并删除具有匹配 id 的任何元素。

<ul>
<li id="0" class="liRem">zero</li>
<li id="1" class="liRem">one</li>
<li id="2" class="liRem">two</li>
<li id="3" class="liRem">three </li>
<li id="4" class="liRem">four </li></ul>

还有 jquery:

var output = [1, 3];
$(document).ready(function () {
$("ul li").each(function () {
if(this.id in output) {
$(this).remove();
};
});
});

但是,它只是删除页面上的下一个“第一个”元素,而不是删除指定的 li 元素。

另外,我无法改变我正在使用数组的事实,并且该列表是 html 文档中唯一的列表。我是 jquery 新手,所以任何建议将不胜感激

最佳答案

Javascript 没有“数组中的值”功能。这用于 for 循环来遍历对象的每个元素。

相反,您应该使用 JQuery inArray method或 array.indexOf(value) > -1。此外,Id 是字符串,而数组包含数字。

这有效:

var output = ["1", "3"];
$(document).ready(function () {
$("ul li").each(function () {
if(output.indexOf(this.id) > -1) {
$(this).remove();
};
});
});

https://jsfiddle.net/07atsh5o/

关于javascript - 为什么我的 jquery 删除列表中的第一个元素而不是指定的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33253222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com