简单的问题-为什么我的HTML页面中的日志“查找”了测试?它不存在。
有什么想法吗?
谢谢大家!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1>Hello World</h1>
<script></script>
<script>
if(document.body.innerHTML.search("test") ||
document.documentElement.textContent ||
document.documentElement.innerText.indexOf('test') > -1 )
{
console.log("found");
}
else
{
console.log("not found");
}
</script>
</body>
</html>
因为您有|| document.documentElement.textContent
,所以它将始终为true
,您需要将代码更改为类似这样的内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1>Hello World</h1>
<p>This is some more text</p>
<script></script>
<script>
if (document.body.innerText.includes('test')) {
console.log('found');
} else {
console.log('not found');
}
</script>
</body>
</html>
因为测试的第二部分以HTML字符串的形式返回文档中的所有内容(使它成为true-y。)>
document.documentElement.textContent