Phương thức HTML DOM createDocumentFragment () được sử dụng để tạo một phân đoạn tài liệu. Đoạn tài liệu không ảnh hưởng đến cấu trúc DOM vì nó nằm trong bộ nhớ. Khi chúng tôi nối đoạn tài liệu vào DOM, về cơ bản nó sẽ được thay thế bằng phần con của nó, tức là không có đoạn tài liệu nào được nối vào tài liệu mà chỉ phần con của nó được nối thêm.
Cú pháp
Sau đây là cú pháp cho phương thức createDocumentFragment () -
document.createDocumentFragment()
Nó trả về một đối tượng DocumentFragment, đại diện cho nút documentFragment.
Ví dụ
Hãy để chúng tôi xem xét một ví dụ cho phương thức HTML DOM createDocumentFragment () -
<!DOCTYPE html> <html> <body> <h1>createDocumentFragment() example</h1> <p>Click the below button to change list items using the createDocumentFragment method.</p> <button type="button" onclick="changeList()">CHANGE</button> <ul> <li>Mango</li> <li>Peach</li> <li>Guava<li> <li>Strawberry</liv <li>Papaya</li> </ul> <script> function changeList() { var x= document.createDocumentFragment(); x.appendChild(document.getElementsByTagName("LI")[0]); x.childNodes[0].childNodes[0].nodeValue = "Watermelon"; document.getElementsByTagName("UL")[0].appendChild(x); } </script> </body> </html>
Đầu ra
Điều này sẽ tạo ra kết quả sau -
Khi nhấp vào nút THAY ĐỔI -
Trong ví dụ trên -
Chúng tôi đã tạo một danh sách không có thứ tự với năm mục danh sách -
<ul> <li>Mango</li> <li>Peach</li> <li>Guava<li> <li>Strawberry</li> <li>Papaya</li> </ul>
Sau đó, chúng tôi đã tạo nút CHANGE sẽ thực thi phương thức changeList () khi người dùng nhấp vào -
<button type="button" onclick="changeList()">CHANGE</button>
Hàm changeList () tạo một phân đoạn tài liệu bằng cách sử dụng phương thức createDocumentFragment () của đối tượng tài liệu và gán nó cho biến x. Sử dụng phương thức appnedChild (), chúng tôi đặt phần tử danh sách trở thành phần tử con của phân đoạn tài liệu. Chúng tôi đặt giá trị phần tử danh sách đầu tiên bên trong phân đoạn tài liệu thành “Dưa hấu”. Sau đó, chúng tôi nối đoạn tài liệu làm phần tử con cuối cùng của
function changeList() { var x= document.createDocumentFragment(); x.appendChild(document.getElementsByTagName("LI")[0]); x.childNodes[0].childNodes[0].nodeValue = "Watermelon"; document.getElementsByTagName("UL")[0].appendChild(x); }