我正在尝试在加载的页面上查找文本,如果文本匹配,我应该得到提醒
<script type='text/javascript'>
window.onload = function() {
if ((document.documentElement.textContent || document.documentElement.innerText).indexOf("John") > -1) {
alert("Matched");
}
};
</script>
<body>
<p> Hello! John is here </p>
</body>
答案 0 :(得分:2)
根据情况将||
运算符更改为&&
运算符。
if ((document.documentElement.textContent && document.documentElement.innerText).indexOf("John") > -1) {
alert("Matched!");
}
答案 1 :(得分:1)
您正在使用||操作,这意味着如果任何条件返回true,它将为true。在您的情况下,document.documentElement.textContent将为true,因此<div class="table-wrapper">
<table>
<tr>
<td>Column 1</td>
<td>Column 2</td>
<td>Column 3</td>
<td>Column 4</td>
<td>Column 5</td>
</tr>
</table>
</div>
是否在if条件为true时都没有关系,因此发出警报。
记住:在Javascript世界中:所有带有“值”的内容都是真实的
答案 2 :(得分:1)
在if中,如果检查布尔值中John的索引 将if条件更改为
.writeAll()
答案 3 :(得分:0)
您实际上是在JavaScript中匹配字符串。那就是DOMException
您的.indexOf("John")
返回第一个非空的项目,在本例中为包含 ||
标记的textContent
。参见:https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent#Differences_from_innerText
只需使用script
。
innerText
请参阅:https://stackoverflow.com/a/32158899/4665,以获取有关<script type='text/javascript'>
window.onload = function() {
if (document.documentElement.innerText.indexOf("John") > -1) {
alert("Matched");
console.log(document.documentElement.innerText);
console.log(document.documentElement.textContent);
}
};
</script>
<body>
<p> Hello! John is here </p>
</body>
运算符发生情况的快速指南。它还应该说明为什么||
可能不是理想的解决方案。