From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/ja/web/api/text/index.html | 106 ++++++++++++++++++++++++++ files/ja/web/api/text/splittext/index.html | 118 +++++++++++++++++++++++++++++ 2 files changed, 224 insertions(+) create mode 100644 files/ja/web/api/text/index.html create mode 100644 files/ja/web/api/text/splittext/index.html (limited to 'files/ja/web/api/text') diff --git a/files/ja/web/api/text/index.html b/files/ja/web/api/text/index.html new file mode 100644 index 0000000000..691cc5581d --- /dev/null +++ b/files/ja/web/api/text/index.html @@ -0,0 +1,106 @@ +--- +title: Text +slug: Web/API/Text +tags: + - API + - DOM +translation_of: Web/API/Text +--- +

{{ApiRef("DOM")}}

+ +

Text インターフェイスは、{{domxref("Element")}} または {{domxref("Attr")}} のテキストコンテンツを表します。要素の内部にマークアップが含まれていない場合、その要素は要素内のテキストを包含する Text を実装する子を 1 つ持ちます。一方要素がマークアップを含む場合は情報アイテムと、要素の子を構成する Text ノードに解析されます。

+ +

新しいドキュメントは、テキストのブロックごとに 1 つの Text ノードを持ちます。ドキュメントの内容の変化に応じて、さらに多くの Text ノードが生成されます。{{domxref("Node.normalize()")}} メソッドは、テキストのブロックごとに 1 つのノードに戻るよう、隣接する Text オブジェクトを結合します。

+ +

{{InheritanceDiagram}}

+ +

コンストラクター

+ +
+
{{domxref("Text.Text", "Text()")}} {{experimental_inline}}
+
引数をテキストコンテンツとして持つ、Text ノードを返します。
+
+ +

プロパティ

+ +

親である {{domxref("CharacterData")}} からプロパティを継承します。

+ +
+
{{domxref("Text.isElementContentWhitespace")}} {{readonlyInline}} {{obsolete_inline}}
+
text ノードがホワイトスペースしか包含していないかを示す、{{domxref("Boolean")}} フラグを返します。
+
{{domxref("Text.wholeText")}} {{readonlyInline}}
+
当該 {{domxref("Node")}} に論理的に隣接しているすべての Text ノードのテキストを、ドキュメント内で現れる順に結合した {{domxref("DOMString")}} を返します。
+
{{domxref("Text.assignedSlot")}} {{readonlyinline}}
+
要素に関連付けられた {{domxref("HTMLSlotElement")}} オブジェクトを返します。
+
+ +

Slotable に含まれるプロパティ

+ +

Text インターフェイスは、{{domxref("Slotable")}} ミックスインで定義された以下のプロパティを含んでいます。

+ +
+
{{domxref("Slotable.assignedSlot")}} {{readonlyInline}}
+
ノードが挿入されている {{htmlelement("slot")}} を表す {{domxref("HTMLSlotElement")}} を返します。
+
+ +

メソッド

+ +

親である {{domxref("CharacterData")}} からメソッドを継承します。

+ +
+
{{domxref("Text.replaceWholeText")}} {{obsolete_inline}}
+
カレントノードおよび論理的に隣接するノードのテキストを、指定したテキストに置き換えます。
+
+ +
+
{{domxref("Text.splitText")}}
+
指定したオフセット位置で、ノードを 2 つに分割します。
+
+ +

仕様

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
仕様書策定状況コメント
{{SpecName('DOM WHATWG', '#text', 'Text')}}{{Spec2('DOM WHATWG')}}isElementContentWhitespace プロパティを削除。
+ replaceWholeText() メソッドを削除。
+ Text() コンストラクターを追加。
+ assignedSlot プロパティを追加。
{{SpecName('DOM3 Core', 'core.html#ID-1312295772', 'Text')}}{{Spec2('DOM3 Core')}}isElementContentWhitespace および wholeText プロパティを追加。
+ replaceWholeText() メソッドを追加。
{{SpecName('DOM2 Core', 'core.html#ID-1312295772', 'Text')}}{{Spec2('DOM2 Core')}}{{SpecName('DOM1')}} から変更なし。
{{SpecName('DOM1', 'level-one-core.html#ID-1312295772', 'Text')}}{{Spec2('DOM1')}}最初期の定義
+ +

ブラウザー実装状況

+ + + +

{{Compat("api.Text")}}

+ +

関連情報

+ + diff --git a/files/ja/web/api/text/splittext/index.html b/files/ja/web/api/text/splittext/index.html new file mode 100644 index 0000000000..a5895401d9 --- /dev/null +++ b/files/ja/web/api/text/splittext/index.html @@ -0,0 +1,118 @@ +--- +title: Text.splitText() +slug: Web/API/Text/splitText +tags: + - API + - DOM + - Method + - Text + - splitText + - メソッド +translation_of: Web/API/Text/splitText +--- +

{{APIRef("DOM")}}

+ +

Text.splitText() メソッドは、 {{domxref("Text")}} ノードを指定したオフセットで二つに分割し、両方のノードを兄弟としてツリーの中に保持します。

+ +

分割後、現在のノードには指定したオフセット位置までのすべてのコンテンツが設定され、新規作成された同じ種類のノードには残りのテキストが設定されます。新しく作成されたノードは呼び出し元に返されます。元のノードに親があった場合、新しいノードは元のノードの次の兄弟として挿入されます。オフセットが元のノードの長さと等しい場合、新しく作成されたノードにはデータがありません。

+ +

分割されたテキストノードは、 {{domxref("Node.normalize()")}} メソッドを用いて結合することができます。

+ +

構文

+ +
newNode = textNode.splitText(offset)
+
+ +

引数

+ +
+
offset
+
テキストノードを分割する直前の位置。
+
+ +

返値

+ +

新しく生成された {{domxref("Text")}} ノードを返し、指定されたオフセット位置移行のテキストが格納されます。

+ +

例外

+ +

{{domxref("DOMException")}} で値が INDEX_SIZE_ERR のものは、指定されたオフセットが負の値であるか、ノードのテキストの16ビット単位の文字数よりも大きい場合に発生します。 {{domxref("DOMException")}} で値が NO_MODIFICATION_ALLOWED_ERR のものは、ノードが読取専用の場合に発生します。

+ +

+ +

この例では、 {{HTMLElement("p")}} のテキストが二つのテキストノードに分割され、 {{HTMLElement("u")}} がその間に挿入されます。

+ +

HTML

+ +
<p>foobar</p>
+ +

JavaScript

+ +
const p = document.querySelector('p');
+
+// <p> の中身をテキストノードとして取得
+const foobar = p.firstChild;
+
+// 'foobar' を二つのテキストノード 'foo' と 'bar' に分割し、
+// 'bar' を const として保存
+const bar = foobar.splitText(3);
+
+// <u> 要素を作成して ' new content ' を含める
+const u = document.createElement('u');
+u.appendChild(document.createTextNode(' new content '));
+
+// <u> を 'bar' の前に追加
+p.insertBefore(u, bar);
+
+// 結果: <p>foo<u> new content </u>bar</p>
+ +

結果

+ +

{{EmbedLiveSample("Example", 700, 70)}}

+ +

仕様書

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
仕様書状態備考
{{SpecName('DOM WHATWG', '#dom-text-splittext', 'Text.splitText')}}{{Spec2('DOM WHATWG')}}{{SpecName('DOM3 Core')}} から変更なし。
{{SpecName('DOM3 Core', 'core.html#ID-38853C1D', 'Text.splitText')}}{{Spec2('DOM3 Core')}}{{SpecName('DOM2 Core')}} から変更なし。
{{SpecName('DOM2 Core', 'core.html#ID-38853C1D', 'Text.splitText')}}{{Spec2('DOM2 Core')}}{{SpecName('DOM1')}} から変更なし。
{{SpecName('DOM1', 'level-one-core.html#ID-38853C1D', 'Text.splitText')}}{{Spec2('DOM1')}}初回定義
+ +

ブラウザーの互換性

+ + + +

{{Compat("api.Text.splitText")}}

+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf