Javascript 如何使用.each()遍历元素并检查元素是否与数组匹配

Javascript 如何使用.each()遍历元素并检查元素是否与数组匹配,javascript,jquery,html,arrays,Javascript,Jquery,Html,Arrays,我正试图用:contains遍历一组h1。如果我使用1个关键字,它会起作用,但我尝试使用:contains和多个关键字。现在,我使用localStorage,保存关键字,然后在选择器中调用它,但这只适用于1个关键字,这是我不想要的 HTML 我想制作一个数组var数组=['Silk','Champion']并使.each()从h1中的数组中搜索这些关键字,然后返回它们或仅对其进行处理 如果需要“and”,可以执行多个filter()操作来缩小选择范围 $("h1:contains('" + it

我正试图用:contains遍历一组h1。如果我使用1个关键字,它会起作用,但我尝试使用:contains和多个关键字。现在,我使用localStorage,保存关键字,然后在选择器中调用它,但这只适用于1个关键字,这是我不想要的

HTML

我想制作一个数组
var数组=['Silk','Champion']
并使
.each()
h1
中的数组中搜索这些关键字,然后返回它们或仅对其进行处理

如果需要“and”,可以执行多个filter()操作来缩小选择范围

$("h1:contains('" + itemKeyword1 + "'").filter("h1:contains('" + itemKeyword2 + "'")
如果您想要“或”,只需给jQuery提供多个选择器的逗号分隔列表

$("h1:contains('" + itemKeyword1 + "',h1:contains('" + itemKeyword2 + "'")
对于更复杂的“或”情况,请分别选择它们,然后合并


丝
冠军
光滑的
光滑如丝
var关键字=[‘丝’、‘光滑’];
var$items=$();
$.each(关键字、函数(关键字、值){
$items=$items.add(“h1:contains(“+value+”)”);
});
$.uniqueSort($items).each(函数(){
//做你的事
$(this.css({'border':'1px solid red'});
});

LocalStorage
以字符串格式存储值。因为您将数组存储在localStorage中,所以它将转换为字符串。要将字符串转换回数组,必须
JSON.parse()
it。 在使用之后,您可以遍历数组中的单词

var localStorageStored='[“Silk”,“Champion”];
var stored=JSON.parse(localStorageStored);
var结果=[];
$.each(存储、函数(索引、值){
var temp=$(“h1:contains(“+value+”)”);
如果(临时)
结果。推送(温度)
});
控制台日志(结果)

丝
冠军
光滑的
您应该在选定的
h1
元素上使用该功能

var标题=['Silk','Champion'];
变量h1s=$('h1')。筛选器(函数(){
返回headers.indexOf($(this.text())!=-1;
});
警报(h1s长度)

丝
冠军

平滑
一些附带的HTML可能会有所帮助。不过不太多;)刚好够help@GeorgeJempty我添加了一些简单的HTML。我只想让我的每条语句返回包含数组中单词的所有h1。我想明确一点,您是在问localStorage是如何工作的,还是如何在jQuery中搜索多个项目?我以前尝试过这个方法,我知道它可以工作,但是我想使用一个数组来实现这一点,因为我一直在通过使用逗号的输入保存关键字,然后将其放入一个数组中供.each()使用。使用两个localStorage变量只会让这变得不方便。如果我想用12个关键词呢?我必须复制粘贴:包含选择器12次,感觉很愚蠢,我觉得有更好的方法使用数组来实现这一点,我只是不知道怎么做。创建空的jQuery选择器,然后开始在本地存储阵列上的循环中合并?:包含多个逗号分隔的单词不起作用IIRCThe$。uniqueSort对我不起作用。在我的示例中,它说它不是一个比您的功能更新的jQuery,并将其作为一个片段。在我的浏览器中工作。
$("h1:contains('" + itemKeyword1 + "'").filter("h1:contains('" + itemKeyword2 + "'")
$("h1:contains('" + itemKeyword1 + "',h1:contains('" + itemKeyword2 + "'")