Cách dùng insertAdjacentHTML trong javascript
Trong bài này chúng ta sẽ tìm hiểu hàm insertAdjacentHTML trong javascript, đây là một hàm khá hay và có thể dùng để thay thế cho nhiều hàm khác.
Hàm insertAdjacentHTML javascript sẽ phân tích giao diện của file tài liệu dưới định dạng XML hoặc HTML, và chèn node vào các vị trí được chỉ định bởi tham số của hàm. Nó không làm ảnh hưởng đến tuần tự của các node hiện có, nên tốc độ xử lý nhanh hon nhiều so với thuộc tính innerHTML.
1. insertAdjacentHTML javascript là gì?
insertAdjacentHTML
là một phương thức được tích hợp sẵn trong các node object của javascript. Công dụng của nó là chèn các node vào các vị trí xác định, vị trí này được chỉ định bởi tham số của hàm.
Cú pháp như sau:
Bài viết này được đăng tại [free tuts .net]
element.insertAdjacentHTML(position, text);
Trong đó:
text
là một chuỗi string hoặc chuỗi HTML dùng để chèn.position
là vị trí chèn, được xác định bởi bốn vị trí chính xác như sau:beforebegin
- phía trước elementafterbegin
- nằm phía trong element, đằng trước node con đầu tiênbeforeend
- nằm phía trong, đằng sau node con cuối cùng.afterend
- nằm sau element.
Để dễ hiểu hơn thì bạn hãy xem sơ đồ dưới đây:
<!-- beforebegin --> <p> <!-- afterbegin --> <span> -- 1 <span> -- 2 <!-- beforeend --> </p> <!-- afterend -->
Trong đó thẻ p
chính là element
, foo
chính là phần tử con của thẻ p
.
2. Cách dùng insertAdjacentHTML trong javascript
Ví dụ: Cho cấu trúc file HTML như sau.
<!-- Vị trí 1: beforebegin--> <div id="node"> <!-- Vị trí 2:afterbegin --> <span>Học lập trình miễn phí.</span> <span>Tại freetuts.net</span> <!-- Vị trí 3:beforeend --> </div> <!-- Vị trí 4:afterend -->
Trong đó mình đã comment 4 vị trí mà hàm insertAdjacentHTML
có thể chèn vào. Cách chèn cụ thể như sau:
let element = document.getElementById('node'); // Vị trí 1: beforebegin element.insertAdjacentHTML("beforebegin", '<span>Nội dung chèn 1</span>'); // Vị trí 2: afterbegin element.insertAdjacentHTML("afterbegin", '<span>Nội dung chèn 2</span>'); // Vị trí 3: beforeend element.insertAdjacentHTML("beforeend", '<span>Nội dung chèn 3</span>'); // Vị trí 4: afterend element.insertAdjacentHTML("afterend", '<span>Nội dung chèn 4</span>');
Trên là cách sử dụng hàm insertAdjacentHTML
trong Javascript.