Javascript 如何使用DIV中具有多个匹配项的数组获取:contains()选择器的总实例?
这是对的后续查询 我在使用contains:selector获取总匹配时遇到了这个数组循环问题 这是我的变量-Javascript 如何使用DIV中具有多个匹配项的数组获取:contains()选择器的总实例?,javascript,jquery,arrays,Javascript,Jquery,Arrays,这是对的后续查询 我在使用contains:selector获取总匹配时遇到了这个数组循环问题 这是我的变量- var filterarray = ["Content1", "goes"]; <div id="content" style="display:none">Content1 goes here</div> <div id="content" style="display:none">Content1 goes here too</div&g
var filterarray = ["Content1", "goes"];
<div id="content" style="display:none">Content1 goes here</div>
<div id="content" style="display:none">Content1 goes here too</div>
<div id="content" style="display:none">Content1 goes here again</div>
<div id="content" style="display:none">extra node</div>
var filterary=[“Content1”,“goes”];
内容1在这里
Content1也在这里
Content1又来了
额外节点
这是我的剧本-
totalSum = 0;
for (i=0;i<filterarray.length;i++){
$( "div[id^=content]:contains('"+ filterarray[i] +"')").css( "display", "block" );
totalSum += $( "div[id^=content]:contains('"+ filterarray[i] +"')").length;
}
$("#results").append("Total Results: " +totalSum);
totalSum=0;
对于(i=0;i这可能会帮助您:
HTML:
Content1在这里
Content1也在这里
Content1又来了
额外节点
JS:
var filterary=[“Content1”,“goes”];
$(函数(){
总和=0;
var divs=[];
对于(i=0;i第一个建议使用类而不是id!因为id意味着UNICAL IDENTIFICATOR。请阅读相关内容
所以假设您有下一个html节点
<div class="content" style="display:none">Content1 goes here</div>
<div class="content" style="display:none">Content1 goes here too</div>
<div class="content" style="display:none">Content1 goes here again</div>
<div class="content" style="display:none">extra node</div>
Content1在这里
Content1也在这里
Content1又来了
额外节点
使用内容类迭代所有节点
var nodes = $(".content");
var filterarray = ["Content1", "goes"];
var total = 0;
for(var i = 0; i < nodes.length; i++){
var current = $(nodes[i]);
var text = current.text();
var res = filterarray.reduce(function(p, a){
return p && (text.indexOf(a) != -1);
}, true);
if(res) total++;
}
console.log(total)
var节点=$(“.content”);
var filterray=[“Content1”,“goes”];
var合计=0;
对于(var i=0;i
这可能会帮助您:
<div class="content" style="display:none">Content1 goes here</div>
<div class="content" style="display:none">Content1 goes here too</div>
<div class="content" style="display:none">Content1 goes here again</div>
<div class="content" style="display:none">extra node</div>
var nodes = $(".content");
var filterarray = ["Content1", "goes"];
var total = 0;
for(var i = 0; i < nodes.length; i++){
var current = $(nodes[i]);
var text = current.text();
var res = filterarray.reduce(function(p, a){
return p && (text.indexOf(a) != -1);
}, true);
if(res) total++;
}
console.log(total)