HTML搜索文本在加载和警报时

时间:2018-07-30 02:48:55

标签: javascript jquery html

我正在尝试在加载的页面上查找文本,如果文本匹配,我应该得到提醒

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

4 个答案:

答案 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>运算符发生情况的快速指南。它还应该说明为什么||可能不是理想的解决方案。