检查元素是否不包含特定句子

时间:2019-08-06 00:04:14

标签: javascript jquery html

我正在尝试检查某个元素是否不包含特定句子。

<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语句。

3 个答案:

答案 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>