window.find跨块元素工作?

时间:2013-04-02 17:47:34

标签: javascript dom

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 - 只搜索确定的字符串)

1 个答案:

答案 0 :(得分:0)

还可以搜索文档正文的textContent

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

请参阅the reference

正如您对问题的评论所指出的那样,没有标准它应该如何运作。如果您删除\r字符,则此代码适用于Chrome,但不适用于FF:

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