[英]How to check if div contains certain text or not?
我向div添加了一些文本,如下所示:
document.getElementById("" + choice).innerHTML += "e";
但是稍后在我的脚本中,我想检查该div是否包含我的文本。 我尝试了以下代码:
if (document.getElementById("" + choice).innerHTML === "e") {
alert('yep!');
}
但这是行不通的,我没有收到“是的!” 警报,该如何解决?
您将使用+=
运算符附加文本,而不是将其完全设置为e
。
因此,如果innerHTML
是foo
那就是fooe
。
您可能想做的是:
if ((document.getElementById("" + choice).innerHTML).indexOf("e") !== -1) {
alert('yep!');
}
您应该使用:
if (document.getElementById("hello").innerHTML.includes("e")) { alert('yep!'); }
<div id="hello">hello world</div>
因为在此代码中:
document.getElementById("" + choice).innerHTML += "e";
您正在将"e"
添加到innerHTML
使用document.getElementById(“” +选择).innerHTML.contains(“ e”)
您可以这样操作:
var myContent = "e"
document.getElementById("" + choice).innerHTML += myContent;
if (document.getElementById("" + choice).innerHTML.includes(myContent)) {
alert('yep!');
}
如果您确实打算使用+=
运算符代替=
。 您的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>
+ =表示将新值连接到当前值。 我想如果您想将div的innerHTML替换为“ e”,则应在其中替换“ + =”
document.getElementById("" + choice).innerHTML += "e";
为“ =“。 否则,如果要将字符串附加到div的innerHTML中,则应在其中替换“ ===”
if (document.getElementById("" + choice).innerHTML === "e") {
alert('yep!');
}
包括功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.