Text: wholeText プロパティ

wholeTextText インターフェイスのプロパティで、そのノードに論理的に隣接するすべての Text ノードのすべてのテキストを返すものです。 テキストは文書中の順序で連結されます。 これにより、任意のテキストノードを指定し、隣接するすべてのテキストを 1 つの文字列として取得することができます。

メモ: これは Node.normalize() を呼び出してそのテキストノードの値を読み取るのに似ていますが、ツリーを変更することはありません。

接続されたテキストの文字列です。

ウェブページに次のような簡単な段落があったとします。

html
<p>
  Through-hiking is great!
  <strong>No insipid election coverage!</strong> However,
  <a href="https://en.wikipedia.org/wiki/Absentee_ballot">casting a ballot</a>
  is tricky.
</p>

中央の文章が気に入らないと判断し、削除します。

js
const paragraph = document.querySelector("p"); // 段落を読み取る
paragraph.removeChild(para.childNodes[1]); // strong のテキストを削除

これで "Through-hiking is great! However, casting a ballot is tricky." となり、ハイパーリンクの前はノード 2 つになります。

  1. Text で、"Through-hiking is great!" という文字列を含むもの
  2. 2 番目の Text ノードで、" However, " という文字列を含むもの

これらの 2 つのノードを一度に取得するには、 para.childNodes[0].wholeText を呼び出します。

js
console.log(`'${paragraph.childNodes[0].wholeText}'`); // 'Through-hiking is great!   However, '

仕様書

Specification
DOM Standard
# ref-for-dom-text-wholetext①

ブラウザーの互換性

BCD tables only load in the browser

関連情報

  • 所属先の Text インターフェイス