如何检查div是否包含某些文本?

时间:2018-09-21 09:13:54

标签: javascript html

我向div添加了一些文本,如下所示:

document.getElementById("" + choice).innerHTML += "e";

但是稍后在我的脚本中,我想检查该div是否包含我的文本。我已经尝试了以下代码:

if (document.getElementById("" + choice).innerHTML === "e") {
    alert('yep!');
}

但是它不起作用,我听不到“是的!”警报。如何解决?

6 个答案:

答案 0 :(得分:2)

您要使用+=运算符附加文本,而不是将其完全设置为e

因此,如果innerHTMLfoo,则为fooe

您可能想做的是:

if ((document.getElementById("" + choice).innerHTML).indexOf("e") !== -1) {
    alert('yep!');
}

答案 1 :(得分:2)

您应该使用:

if (document.getElementById("hello").innerHTML.includes("e")) {
    alert('yep!');
}
<div id="hello">hello world</div>

因为此代码:

document.getElementById("" + choice).innerHTML += "e";

您正在将"e"添加到innerHTML

答案 2 :(得分:1)

使用document.getElementById(“” +选择).innerHTML.contains(“ e”)

答案 3 :(得分:0)

您可以这样做:

var myContent = "e"

document.getElementById("" + choice).innerHTML += myContent;

if (document.getElementById("" + choice).innerHTML.includes(myContent)) {
    alert('yep!');
}

答案 4 :(得分:0)

如果您确实打算使用+=运算符而不是=。您的div中可能有空格。您可以使用修剪功能来消除此代码段中的内容。

如果将运算符更改为=,您仍然可以使用无修饰的支票。

document.getElementById("test").innerHTML += "e";
console.log('innerHTML value: "' + document.getElementById("test").innerHTML + '"');
if (document.getElementById("test").innerHTML === "e") {
    console.log('passed');
}
if (document.getElementById("test").innerHTML.trim() === "e") {
    console.log('passed with trim');
}
<div id="test"> </div>

答案 5 :(得分:0)

+ =表示将新值连接到当前值。我想如果您要将div的innerHTML替换为“ e”,则应在

中替换“ + =”
document.getElementById("" + choice).innerHTML += "e";

到“ =“。 否则,如果您想将字符串追加到div的innerHTML中,则应在

中替换“ ===”
if (document.getElementById("" + choice).innerHTML === "e") {
    alert('yep!');
}

包含功能。