我向div添加了一些文本,如下所示:
document.getElementById("" + choice).innerHTML += "e";
但是稍后在我的脚本中,我想检查该div是否包含我的文本。我已经尝试了以下代码:
if (document.getElementById("" + choice).innerHTML === "e") {
alert('yep!');
}
但是它不起作用,我听不到“是的!”警报。如何解决?
答案 0 :(得分:2)
您要使用+=
运算符附加文本,而不是将其完全设置为e
。
因此,如果innerHTML
为foo
,则为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!');
}
包含功能。