aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/text/splittext
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/web/api/text/splittext
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/zh-cn/web/api/text/splittext')
-rw-r--r--files/zh-cn/web/api/text/splittext/index.html127
1 files changed, 127 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/text/splittext/index.html b/files/zh-cn/web/api/text/splittext/index.html
new file mode 100644
index 0000000000..4ad321bf85
--- /dev/null
+++ b/files/zh-cn/web/api/text/splittext/index.html
@@ -0,0 +1,127 @@
+---
+title: Text.splitText()
+slug: Web/API/Text/splitText
+tags:
+ - API
+ - DOM
+ - Text
+ - 方法
+translation_of: Web/API/Text/splitText
+---
+<div>{{apiref("DOM")}}</div>
+
+<p><strong><code>Text.splitText()</code></strong> 方法可以根据指定的偏移量将一个 {{domxref("Text")}} 节点分割成前后两个独立的兄弟节点。</p>
+
+<p>如果指定的偏移量刚好等于原文本节点所包含字符串的长度,则返回一个内容为空的文本节点.</p>
+
+<p>分割后的文本节点还可以使用<a href="/zh-CN/docs/DOM/Node.normalize" title="DOM/Node.normalize"><code>Node.normalize</code></a>方法来合并.</p>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox"><em>newNode</em> = <em>textNode</em>.splitText(<em>offset</em>)
+</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt><code>offset</code></dt>
+ <dd>在中断文本节点前的索引。</dd>
+</dl>
+
+<ul>
+</ul>
+
+<h3 id="返回值">返回值</h3>
+
+<p>返回一个新创建的 {{domxref("Text")}} 节点,该节点包含了 the text after the specified offset point.</p>
+
+<h3 id="异常">异常</h3>
+
+<dl>
+ <dt>INDEX_SIZE_ERR</dt>
+ <dd>如果指定的偏移量小于0或者大于原文本节点中所包含字符串的长度,则抛出这个异常.</dd>
+ <dt>NO_MODIFICATION_ALLOWED_ERR</dt>
+ <dd>如果,原文本节点只读,则抛出这个异常.</dd>
+</dl>
+
+<h2 id="Example" name="Example">例子</h2>
+
+<p>下面的例子中,一个 <code>&lt;p&gt;</code> 元素所包含的文本节点将会被分割成两个文本节点,然后在这两个节点中间插入一个 <code>&lt;span&gt;</code> 元素。</p>
+
+<h3 id="HTML">HTML</h3>
+
+<pre class="brush:html"> &lt;p id="p"&gt;foobar&lt;/p&gt;
+</pre>
+
+<h3 id="JavaScript">JavaScript</h3>
+
+<pre class="brush: js">const p = document.getElementById('p');
+
+// 将 &lt;p&gt; 的内容读取为一个文本节点
+const foobar = p.firstChild;
+
+// 将原来的文本节点分割成为内容分别为 foo 和 bar 的两个文本节点
+const bar = foobar.splitText(3);
+
+// 创建一个包含了内容为 ' new content ' 的文本节点的 &lt;u&gt; 元素
+const u = document.createElement('u');
+u.appendChild(document.createTextNode(' new content '));
+
+// 将 &lt;u&gt; 元素插入到后一个文本节点 'bar' 的前面
+p.insertBefore(u, bar);
+
+// 现在,HTML 结构就变成了 &lt;p id="p"&gt;foo &lt;span&gt;span contents&lt;/span&gt; bar&lt;/p&gt;
+</pre>
+
+<h3 id="结果">结果</h3>
+
+<p>{{EmbedLiveSample("Example", 700, 70)}}</p>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">规范</th>
+ <th scope="col">状态</th>
+ <th scope="col">备注</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('DOM WHATWG', '#dom-text-splittext', 'Text.splitText')}}</td>
+ <td>{{Spec2('DOM WHATWG')}}</td>
+ <td>No change from {{SpecName('DOM3 Core')}}.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('DOM3 Core', 'core.html#ID-38853C1D', 'Text.splitText')}}</td>
+ <td>{{Spec2('DOM3 Core')}}</td>
+ <td>No change from {{SpecName('DOM2 Core')}}.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('DOM2 Core', 'core.html#ID-38853C1D', 'Text.splitText')}}</td>
+ <td>{{Spec2('DOM2 Core')}}</td>
+ <td>No change from {{SpecName('DOM1')}}.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('DOM1', 'level-one-core.html#ID-38853C1D', 'Text.splitText')}}</td>
+ <td>{{Spec2('DOM1')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+
+
+<p>{{Compat("api.Text.splitText")}}</p>
+
+<h2 id="参见">参见</h2>
+
+<ul>
+ <li>The {{domxref("Text")}} interface it belongs to.</li>
+ <li>The opposite method: {{domxref("Node.normalize")}}.</li>
+</ul>
+
+<div id="gtx-trans" style="position: absolute; left: 48px; top: 508px;">
+<div class="gtx-trans-icon"></div>
+</div>