Javascript - 检查div是否包含单词?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript - 检查div是否包含单词?相关的知识,希望对你有一定的参考价值。
如何检查div是否包含某个单词?
var divs= document.getElementsByTagName('div');
for (var i = 0, len = divs.length; i < len; ++i) {
if (divs[i].text = '*word*'){
//do somthing
}
}
不起作用。
答案
使用indexOf函数
if(divs[i].innerhtml.indexOf("word") !== -1) {
// something
}
另一答案
使用includes()
:
node.textContent.includes('Some text');
另一答案
if (document.getElementById('divId').innerHTML.indexOf("word") != -1) { }
另一答案
尝试String.indexOf()
功能:if (divs[i].text.indexOf('word') != -1) {
另一答案
您必须使用比较运算符而不分配变量。
if (divs[i].text == '*word*'){
我建议使用indexOf
。
if (divs[i].text.indexOf('*word*') != -1){
另一答案
除了其他人所说的使用.indexOf()
函数之外,我想说.text
不是div节点属性。用户.innerHTML
if (divs[i].innerHTML.indexOf('word') > -1){}
另一答案
天哪,这么多答案!
要获得元素的文本,简单的方法是使用textContent,或者在不支持的情况下使用innerText。所有使用的浏览器都支持其中一个(可能是两个)。您也可以使用正则表达式(indexOf也适用,RegExp只是一个选项)所以:
var re = new RegExp('*' + word + '*');
if (re.test(div[i].innerText || div[i].textContent)) {
// div[i] contains /*word*/
}
一个更强大的解决方案就像:
function getText(el) {
if (typeof el.textContent == 'string') {
return el.textContent;
}
if (typeof el.innerText == 'string') {
return el.innerText;
}
}
var re = new RegExp('*' + word + '*');
if (re.test(getText(div[i]))) {
// div[i] contains /*word*/
}
另一答案
使用正则表达式:
if ( divs[i].textContent.match ( /word/ ) ){
//do something
}
@RobG提醒我
if ( divs[i].innerHTML.match ( /word/ ) ){
//do something
}
=3=
以上是关于Javascript - 检查div是否包含单词?的主要内容,如果未能解决你的问题,请参考以下文章
查看 div 是不是包含一个或多个输入的单词(Javascript)
Javascript Regex 检查 URL 是不是包含一个单词并且不包含另一个单词
检查 div 是不是包含这些单词中的任何一个,如果是,则显示此 div
JavaScript/jQuery - 如何检查字符串是不是包含特定单词