Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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 通过元素包含的单词获取元素_Javascript_Html_Jquery Selectors - Fatal编程技术网

Javascript 通过元素包含的单词获取元素

Javascript 通过元素包含的单词获取元素,javascript,html,jquery-selectors,Javascript,Html,Jquery Selectors,有没有一种方法可以通过元素的内容(它包含的单词)来获取元素 例如,获取带有字母“F”的所有元素,并将其放入元素数组中,您可以将其用作选择器。例如,要过滤也包含文本的特殊类的所有div,可以使用$(“div.myclass:contains('searched text')”)我认为可以通过迭代所有DOM项来“强制”它。e、 g: let arrayDom = Array.from(document.getElementsByTagName("*")); arra

有没有一种方法可以通过元素的内容(它包含的单词)来获取元素

例如,获取带有字母“F”的所有元素,并将其放入元素数组中,您可以将其用作选择器。例如,要过滤也包含文本的特殊类的所有div,可以使用$(“div.myclass:contains('searched text')”)

我认为可以通过迭代所有DOM项来“强制”它。e、 g:

let arrayDom = Array.from(document.getElementsByTagName("*"));
       arrayDom.forEach(element => {
           if (element.innerHTML.contains('F')){
               // Do something
           }
       })

一个相当简单的方法是选择您感兴趣的元素,然后使用“过滤器”查看
innerText
。您可以使用
toLowerCase

var result=$('div').filter((i,e)=>e.innerText.toLowerCase().indexOf(“f”)>-1);
log(“带有'F':'的项,result.length”)

森林
两周
树

非洲
我强烈建议您使用这些DOM元素搜索。 然后你可以使用这个:

var foos = $("div:contains('foo')" )

将生成一个包含单词“foo”的所有div的数组。

唯一要记住的是它区分大小写。非常感谢,这是我能找到的最好的解决方案。不过我有一个小问题,当您说getElementsByTagName(“*”)时,我想通过所有标记名获取所有元素。我可以这样写吗
document.getElementsByTagNam(“div”)
请告诉我一个解决方案,因为这种方法实际上不起作用。我试过querySelectorAll,但仍然不起作用。我该怎么解决这个问题呢?事实上,我已经解决了。我尝试了一种稍微不同的方法。然而,你帮了很多忙。谢谢