1

window 的 find 方法正在跨行内元素边界工作:

Some <em>sample</em> text.
console.log( window.find('le te') );    // true

但它似乎不适用于块元素边界:

Some <div>sample</div><div>text</div>.
console.log( window.find('le\r\nte') ); // false

我是否错误地使用了该方法,或者我需要一个解决方法吗?
我的目标是在上面的示例中找到“lete”以便对其进行操作。
(不需要 RegExp - 只搜索明确的字符串)

4

1 回答 1

0

textContent搜索文档正文还有另一种方法:

Some <div>sample</div><div>text</div>.
console.log(document.body.textContent.search(/le\s*te/)>-1); // true

请参阅参考资料

正如您对问题的评论所指出的那样,它应该如何工作没有标准。如果您删除该\r字符,此代码在 Chrome 中有效,但在 FF 中无效:

Some <div>sample</div><div>text</div>.
console.log( window.find('le\nte') ); // true
于 2013-04-02T17:53:51.157 回答