假设字符串“成功完成”显示在网页的某处,有没有办法知道这个字符串是否仅使用 javascript 存在?谢谢。
问问题
36817 次
3 回答
39
更多细节会有所帮助。可能有更好的方法。但鉴于您提供的信息,这是最好的:
if (
(
document.documentElement.textContent || document.documentElement.innerText
).indexOf('Done successfuly') > -1
) {
// Do something...
}
如果您知道 ID 或类名,或者可以以其他方式选择直接包含文本的元素(例如h1#someHeading span ...
),那么您可能应该这样做,因为它会更高效并且通常是更简洁的方法。
编辑值得注意:这种方法也会在 SCRIPT 和 STYLE 标签中提取文本,这可能不是你想要的。两者textContent
都有innerText
跨浏览器的各种怪癖。请参阅此了解更多信息。
于 2013-05-14T18:18:53.890 回答
6
试试 .search() 像这样的东西:
document.body.innerHTML.search("Done successfully!");
或者代替 innerHTML,使用 textContent
于 2013-05-14T18:22:00.717 回答
1
最简单的方法是使用 jquery 的 contains 选择器:
if($("*:contains('Hello World')").length > 0)
console.log('yeah baby');
这种方式还为您提供了文本的容器元素。
于 2013-05-14T18:21:14.420 回答