getElementsByTagName() TextNodes と同等
質問:
に似たメソッドはありますかgetElementsByTagName() は、次のすべての textNode のコレクションを取得します。
ディスカッション:
getElementsByTagName() は要素を効率的に収集できますが、textNodes には拡張されません。 DOM をトラバースすることは実行可能なオプションですが、この質問では、ネイティブのブラウザベースのソリューションの可能性を検討しています。
回答:
現時点では、getElementsByTagName に直接相当するものはありません。 () はテキストノードの場合。ただし、代替方法がいくつかあります。
パフォーマンス テスト:
パフォーマンス テストにより、TreeWalker が getElementsByTagName( )。カスタム反復走査も優れたパフォーマンスを示しています。 XPath と querySelectorAll は満足のいく結果をもたらしますが、再帰的トラバーサルは再帰が深くなるため遅れをとっています。
追加の洞察:
テキスト ノードを収集するためのネイティブ メソッドが存在したとしても、ただし、各ノードから実際のテキスト コンテンツを走査して抽出する必要があります。したがって、パフォーマンスのボトルネックは、テキスト ノードを反復処理することだけでなく、非テキスト ノードを調べてそのタイプを判断することにもあります。
以上がドキュメント内のすべての TextNode を取得するのに相当する getElementsByTagName() はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。