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」を見つけて操作することです。
(正規表現は必要ありません - 明確な文字列のみを検索します)

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 に答える