Text: splitText() method

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.

Phương thức splitText() của giao diện Text tách nút Text thành hai nút tại vị trí offset được chỉ định, giữ cả hai nút trong cây dưới dạng các nút anh em.

Sau khi tách, nút hiện tại chứa tất cả nội dung cho đến điểm offset được chỉ định, và một nút mới được tạo cùng kiểu chứa phần văn bản còn lại. Nút mới được tạo sẽ được trả về cho người gọi. Nếu nút gốc có cha, nút mới được chèn vào làm nút anh em tiếp theo của nút gốc. Nếu offset bằng độ dài của nút gốc, nút mới được tạo sẽ không có dữ liệu.

Các nút văn bản bị tách có thể được nối lại bằng phương thức Node.normalize().

Cú pháp

js
splitText(offset)

Tham số

offset

Chỉ số ngay trước điểm tách nút văn bản.

Giá trị trả về

Trả về nút Text mới được tạo chứa văn bản sau điểm offset được chỉ định.

Ngoại lệ

IndexSizeError DOMException

Được ném ra nếu offset được chỉ định là âm hoặc lớn hơn số đơn vị 16-bit trong văn bản của nút.

NoModificationAllowedError DOMException

Được ném ra nếu nút ở chế độ chỉ đọc.

Ví dụ

Trong ví dụ này, văn bản của <p> được tách thành hai nút văn bản, và một <u> được chèn vào giữa chúng.

html
<p>foobar</p>
js
const p = document.querySelector("p");

// Lấy nội dung của <p> dưới dạng nút văn bản
const foobar = p.firstChild;

// Tách 'foobar' thành hai nút văn bản, 'foo' và 'bar',
// và lưu 'bar' vào hằng số
const bar = foobar.splitText(3);

// Tạo một phần tử <u> chứa ' new content '
const u = document.createElement("u");
u.appendChild(document.createTextNode(" new content "));

// Thêm <u> trước 'bar'
p.insertBefore(u, bar);

// Kết quả là: <p>foo<u> new content </u>bar</p>

Thông số kỹ thuật

Specification
DOM
# ref-for-dom-text-splittext①

Tương thích trình duyệt

Xem thêm

  • Giao diện Text mà phương thức này thuộc về.
  • Phương thức ngược lại: Node.normalize.