Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:从数组中排除具有id的元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery:从数组中排除具有id的元素

Javascript jQuery:从数组中排除具有id的元素,javascript,jquery,html,Javascript,Jquery,Html,我想查找该id未包含在数组列表中的所有div 例如: Array: [1, 2, 5] 分区: 但是,有一个简单的方法吗?可以使用jQuery吗?您可以尝试使用:not选择器 你会使用jQuery吗?您可以尝试使用:not选择器 可以使用排除元素 从匹配的元素集中删除元素 步骤: 选择本例中的所有元素div。 使用join连接数组的元素,因为数组中的元素是id 在联接字符串的开头添加,因为联接不会添加数组中的第一个元素 代码和演示 var-arr=[1,2,5]; $'div'.not+arr

我想查找该id未包含在数组列表中的所有div

例如:

Array: [1, 2, 5]
分区:


但是,有一个简单的方法吗?

可以使用jQuery吗?您可以尝试使用:not选择器


你会使用jQuery吗?您可以尝试使用:not选择器

可以使用排除元素

从匹配的元素集中删除元素

步骤:

选择本例中的所有元素div。 使用join连接数组的元素,因为数组中的元素是id 在联接字符串的开头添加,因为联接不会添加数组中的第一个元素 代码和演示 var-arr=[1,2,5]; $'div'.not+arr.join','.addClass'include'; div{ 填充物:5px; 背景:红色; 宽度:20px; 高度:20px; 保证金:5px; 文本对齐:居中; } .包括在内{ 背景:绿色; 字体大小:粗体; } 1. 2. 3. 4. 5您可以使用排除元素

从匹配的元素集中删除元素

步骤:

选择本例中的所有元素div。 使用join连接数组的元素,因为数组中的元素是id 在联接字符串的开头添加,因为联接不会添加数组中的第一个元素 代码和演示 var-arr=[1,2,5]; $'div'.not+arr.join','.addClass'include'; div{ 填充物:5px; 背景:红色; 宽度:20px; 高度:20px; 保证金:5px; 文本对齐:居中; } .包括在内{ 背景:绿色; 字体大小:粗体; } 1. 2. 3. 4.
5虽然您已经选择了答案,但以下是您在Javascript而非jQuery中的操作方法:

var idList = [1, 2, 5], // array of ids
    divs = document.querySelectorAll('div'), // select all divs
    notFound;
notFound = [].filter.call(divs, function(div) { // filter into a new array
    return (idList.indexOf((+div.id)) < 0); // where numeric id is not found
});
1. 2. 3. 4.
5虽然您已经选择了答案,但以下是您在Javascript而非jQuery中的操作方法:

var idList = [1, 2, 5], // array of ids
    divs = document.querySelectorAll('div'), // select all divs
    notFound;
notFound = [].filter.call(divs, function(div) { // filter into a new array
    return (idList.indexOf((+div.id)) < 0); // where numeric id is not found
});
1. 2. 3. 4.
5考虑到你需要循环每一个元素以找到你想要的元素,你试图做的事情没有真正意义。为什么不列出你想要的而不是你不想要的呢?@XO:他只需要搜索querySelectorAll'div[id],而不是所有元素。考虑到你需要遍历每一个元素才能找到你想要的元素,你试图做的并没有真正意义。为什么不列出你想要的而不是你不想要的呢?@XO:他只需要在QuerySelector中搜索所有的'div[id',而不是所有的元素。哇,真是太棒了哇,真是太棒了
var idList = [1, 2, 5], // array of ids
    divs = document.querySelectorAll('div'), // select all divs
    notFound;
notFound = [].filter.call(divs, function(div) { // filter into a new array
    return (idList.indexOf((+div.id)) < 0); // where numeric id is not found
});