Javascript 为什么jquery要删除列表中的第一个元素而不是指定的元素?
我正在尝试使用.each()循环遍历html中的列表,并删除任何具有匹配ID的元素Javascript 为什么jquery要删除列表中的第一个元素而不是指定的元素?,javascript,jquery,html,html-lists,Javascript,Jquery,Html,Html Lists,我正在尝试使用.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
<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>
但是,它没有删除指定的li元素,而是删除页面上的下一个“第一个”元素
另外,我不能改变我使用数组的事实,列表是html文档中唯一的一个。我是jquery新手,因此任何建议都将不胜感激使用jquery尝试此脚本,并使用jquery.attr('id')获取id
$(文档).ready(函数(){
变量输出=[“1”,“3”];
$(“ul li”)。每个(功能){
if($.inArray($(this.attr('id'),output)!==-1){
$(this.remove();
};
});
});
使用jquery尝试此脚本,并使用jquery.attr('id')获取id
$(文档).ready(函数(){
变量输出=[“1”,“3”];
$(“ul li”)。每个(功能){
if($.inArray($(this.attr('id'),output)!==-1){
$(this.remove();
};
});
});
使用jquery尝试此脚本,并使用jquery.attr('id')获取id
$(文档).ready(函数(){
变量输出=[“1”,“3”];
$(“ul li”)。每个(功能){
if($.inArray($(this.attr('id'),output)!==-1){
$(this.remove();
};
});
});
使用jquery尝试此脚本,并使用jquery.attr('id')获取id
$(文档).ready(函数(){
变量输出=[“1”,“3”];
$(“ul li”)。每个(功能){
if($.inArray($(this.attr('id'),output)!==-1){
$(this.remove();
};
});
});
Javascript没有“数组中的值”功能。这用于for循环,以循环对象的每个元素
相反,您应该使用JQuerys或array.indexOf(value)>-1。
此外,ID是字符串,而数组包含数字
这项工作:
var output = ["1", "3"];
$(document).ready(function () {
$("ul li").each(function () {
if(output.indexOf(this.id) > -1) {
$(this).remove();
};
});
});
Javascript没有“数组中的值”功能。这用于for循环,以循环对象的每个元素 相反,您应该使用JQuerys或array.indexOf(value)>-1。 此外,ID是字符串,而数组包含数字 这项工作:
var output = ["1", "3"];
$(document).ready(function () {
$("ul li").each(function () {
if(output.indexOf(this.id) > -1) {
$(this).remove();
};
});
});
Javascript没有“数组中的值”功能。这用于for循环,以循环对象的每个元素 相反,您应该使用JQuerys或array.indexOf(value)>-1。 此外,ID是字符串,而数组包含数字 这项工作:
var output = ["1", "3"];
$(document).ready(function () {
$("ul li").each(function () {
if(output.indexOf(this.id) > -1) {
$(this).remove();
};
});
});
Javascript没有“数组中的值”功能。这用于for循环,以循环对象的每个元素 相反,您应该使用JQuerys或array.indexOf(value)>-1。 此外,ID是字符串,而数组包含数字 这项工作:
var output = ["1", "3"];
$(document).ready(function () {
$("ul li").each(function () {
if(output.indexOf(this.id) > -1) {
$(this).remove();
};
});
});
糟糕的是,JavaScript没有一个简单检查数组是否包含某个元素的好功能。不过,您可以使用以下代码片段自己制作一个:
Array.prototype.contains = function (search) {
for (key in this) {
if (this[key] == search) {
return true;
}
}
return false;
}
此函数将检查数组是否包含给定值,并返回true
或false
。您可以这样使用它:
output.contains($(this).attr('id'));
还请注意我检索元素id的用法,因为您现在这样做的方式是不正确的。我为您创建了一个,所以您可以自己查看并玩一玩
希望这有帮助 糟糕的是,JavaScript没有一个简单检查数组是否包含某个元素的好函数。不过,您可以使用以下代码片段自己制作一个:
Array.prototype.contains = function (search) {
for (key in this) {
if (this[key] == search) {
return true;
}
}
return false;
}
此函数将检查数组是否包含给定值,并返回true
或false
。您可以这样使用它:
output.contains($(this).attr('id'));
还请注意我检索元素id的用法,因为您现在这样做的方式是不正确的。我为您创建了一个,所以您可以自己查看并玩一玩
希望这有帮助 糟糕的是,JavaScript没有一个简单检查数组是否包含某个元素的好函数。不过,您可以使用以下代码片段自己制作一个:
Array.prototype.contains = function (search) {
for (key in this) {
if (this[key] == search) {
return true;
}
}
return false;
}
此函数将检查数组是否包含给定值,并返回true
或false
。您可以这样使用它:
output.contains($(this).attr('id'));
还请注意我检索元素id的用法,因为您现在这样做的方式是不正确的。我为您创建了一个,所以您可以自己查看并玩一玩
希望这有帮助 糟糕的是,JavaScript没有一个简单检查数组是否包含某个元素的好函数。不过,您可以使用以下代码片段自己制作一个:
Array.prototype.contains = function (search) {
for (key in this) {
if (this[key] == search) {
return true;
}
}
return false;
}
此函数将检查数组是否包含给定值,并返回true
或false
。您可以这样使用它:
output.contains($(this).attr('id'));
还请注意我检索元素id的用法,因为您现在这样做的方式是不正确的。我为您创建了一个,所以您可以自己查看并玩一玩
希望这有帮助 函数“in”不适用于数组,因为“in”将与for循环一起使用,因为它只给出索引值
因此,尝试使用一个简单的for循环:
下面是示例演示:
“in”函数不适用于数组,因为“in”将与for循环一起使用,因为它只提供索引值
因此,尝试使用一个简单的for循环:
下面是示例演示:
“in”函数对数组不起作用,