我正在尝试检查某个元素是否不包含特定句子。
<div id="element">Hey there, This is the element I want to check if it doesn't contain specific text</div>
<script>
var element = document.getElementById('element');
if( element.textContent == 'hello world' < 0 ){
console.log('The element doesn't contain this sentence');
}else{
console.log('The element contain this sentence');
}
</script>
因此,如果ID为element
的元素不包含hello world
,则应执行if语句。如果元素包含文本hello world
,则应执行else语句。
如果我检查确实像Hey there
这样的句子,这也应该起作用,然后应执行else语句。
答案 0 :(得分:2)
您的情况:
element.textContent == 'hello world'
不测试文本是否包含文本。它会测试它是否等于文本。
更好的测试方法是:
element.textContent.includes('hello world')
但是,由于IE不支持include和polyfills,因此我们可以使用indexOf:
element.textContent.indexOf('hello world') > -1
答案 1 :(得分:0)
您可以使用includes()
检查可能的匹配项。
let str = 'hello world';
console.log(str.includes('hello world'));
console.log(str.includes('hello worlds'));
答案 2 :(得分:0)
indexOf是你的朋友。
这是您的代码做了些改动
<div id="element">Hey there, This is the element I want to check if it doesn't contain specific text</div>
<script>
var element = document.getElementById('element');
if( element.textContent.indexOf('hello world') < 0 ){
console.log("The element doesn't contain this sentence");
}else{
console.log('The element contain this sentence');
}
</script>