HTMLElement: innerText プロパティ
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
innerText
は HTMLElement
のプロパティで、ノードとその子孫の「レンダリングされている」テキスト内容を示します。
ゲッターとしては、カーソルで要素の内容を選択しクリップボードにコピーした際のテキストに近いものを取得することができます。
セッターとしては、この要素の子要素を指定された値で置き換え、すべての改行を <br>
要素に変換します。
メモ: innerText
は Node.textContent
と混同しやすいのですが、両者には重要な違いがあります。基本的に innerText
はテキストがレンダリングされる外見を意識しますが、 textContent
はそうではありません。
値
文字列で、要素の表示されたテキストの内容を表します。
要素自身が表示されないとき(例えば、文書から切り離されたり、表示から隠されたりしている場合)、返値は Node.textContent
プロパティと同じ値になります。
警告: innerText
をノードに設定すると、そのノードの すべての 子ノードが取り除かれ、指定した文字列値のテキストノード 1 つに置き換えられます。
例
この例では innerText
と Node.textContent
を比較しています。 innerText
が <br>
要素のようなものをどのように意識するかや、非表示の要素を無視することに注意してください。
HTML
<h3>元の要素:</h3>
<p id="source">
<style>
#source {
color: red;
}
#text {
text-transform: uppercase;
}
</style>
<span id="text">
このテキストが<br />
どう扱われるか<br />
下で見てみてください。
</span>
<span style="display:none">隠しテキスト</span>
</p>
<h3>textContent の結果:</h3>
<textarea id="textContentOutput" rows="6" cols="30" readonly>…</textarea>
<h3>innerText の結果:</h3>
<textarea id="innerTextOutput" rows="6" cols="30" readonly>…</textarea>
JavaScript
const source = document.getElementById("source");
const textContentOutput = document.getElementById("textContentOutput");
const innerTextOutput = document.getElementById("innerTextOutput");
textContentOutput.value = source.textContent;
innerTextOutput.value = source.innerText;
結果
仕様書
Specification |
---|
HTML Standard # the-innertext-idl-attribute |
ブラウザーの互換性
BCD tables only load in the browser