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
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ệ
IndexSizeErrorDOMException-
Đượ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.
NoModificationAllowedErrorDOMException-
Đượ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.
<p>foobar</p>
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
Textmà phương thức này thuộc về. - Phương thức ngược lại:
Node.normalize.