Bạn có thể dùng JavaScript để tạo mới phần từ HTML sau đó chèn vào trang web. Đây là các cách giúp bạn tạo mới một phần tử HTML
document.createElement[tag_name] | tạo ra phần tử có thẻ tag_name như 0, 1, 2 ... |
3 | Tạo ra một phần tử bằng cách nhân bản phần tử chỉ ra [4] |
5 | tạo phần tử tử văn bản 6 HTML |
var node = document.createTextNode["Tạo ra một phần tử"]; var linknode = document.createElement["a"]; linknode.href="//xuanthulab.net/"; linknode.innerText="xuanthulab.net";
Ví dụ trên sẽ tạo ra một nút text, nhưng nó chưa hiện thị cho đến khi bạn gắn phần tử đó vào HTML document để nó là phần tử con của một phần tử nào đó, có một số cách để gắn phần tử tạo ra từ JavaScript vào DOM HTML
7 | Thêm phần tử 8 vào phần tử 4 nó trở thành phần tử con sau cùng của 4 |
1 | Chèn phần tử 8 nằm phía trước 3 |
4 | Thay thế phần tử 5 bằng phần tử 8 |
Ví dụ sau tạo ra một phần tử đoạn văn
1 sau đó chèn nó vào phần tửnội dung ví dụKẾT QUẢ function add_child[] { //tạo phần tử p var p = document.createElement["p"]; //tạo phần tử text var node = document.createTextNode["Some new text"]; //gắn node vào p p.appendChild[node]; //Thay đổi một số thuộc tính của p p.appendChild[node]; p.style.backgroundColor = 'red'; p.style.padding = "10px"; p.style.color = "white"; var div = document.getElementById["demo"]; //gắn p vào div div.appendChild[p]; }
2 đang có sẵn trong DOM HTMLnội dung ví dụKẾT QUẢ function add_child[] { //tạo phần tử p var p = document.createElement["p"]; //tạo phần tử text var node = document.createTextNode["Some new text"]; //gắn node vào p p.appendChild[node]; //Thay đổi một số thuộc tính của p p.appendChild[node]; p.style.backgroundColor = 'red'; p.style.padding = "10px"; p.style.color = "white"; var div = document.getElementById["demo"]; //gắn p vào div div.appendChild[p]; }
nội dung ví dụKẾT QUẢ function add_child[] { //tạo phần tử p var p = document.createElement["p"]; //tạo phần tử text var node = document.createTextNode["Some new text"]; //gắn node vào p p.appendChild[node]; //Thay đổi một số thuộc tính của p p.appendChild[node]; p.style.backgroundColor = 'red'; p.style.padding = "10px"; p.style.color = "white"; var div = document.getElementById["demo"]; //gắn p vào div div.appendChild[p]; }
nội dung ví dụ
Loại bỏ phần tử
Để loại bỏ phần tử HTML, bạn chọn phần tử cha rồi sử dụng phương thức
9var parent = document.getElementById["demo"]; var child = document.getElementById["p1"]; parent.removeChild[child];This is a paragraph.
This is another paragraph.
var parent = document.getElementById["demo"]; var child = document.getElementById["p1"]; parent.removeChild[child];This is a paragraph.
This is another paragraph.
Ví dụ trên sẽ xóa bỏ phần tử đoạn văn thứ nhất
Bạn có thể sử dụng thủ thuật lấy thuộc tính
0 để bỏ qua bước tìm phần tử cha trong DOM:var child = document.getElementById["p1"]; child.parentNode.removeChild[child];This is a paragraph.
This is another paragraph.
1var child = document.getElementById["p1"]; child.parentNode.removeChild[child];This is a paragraph.
This is another paragraph.
var child = document.getElementById["p1"]; child.parentNode.removeChild[child];This is a paragraph.
This is another paragraph.
Thay thế phần tử
Để thay thể một phần tử bằng một phần tử khác dùng cú pháp element.replaceChild[newNode, oldNode]. Trong đó
4 là nút chanội dung ví dụKẾT QUẢ function add_child[] { //tạo phần tử p var p = document.createElement["p"]; //tạo phần tử text var node = document.createTextNode["Some new text"]; //gắn node vào p p.appendChild[node]; //Thay đổi một số thuộc tính của p p.appendChild[node]; p.style.backgroundColor = 'red'; p.style.padding = "10px"; p.style.color = "white"; var div = document.getElementById["demo"]; //gắn p vào div div.appendChild[p]; }
var p = document.createElement["p"]; p.innerText = 'Đây là đoạn văn mới tạo ra'; var parent = document.getElementById["demo"]; var child = document.getElementById["p1"]; parent.replaceChild[p, child];This is a paragraph.
This is another paragraph.
Trong một tài liệu HTML, phương thức
3 tạo ra phần tử HTML được chỉ định bởivar child = document.getElementById["p1"]; child.parentNode.removeChild[child];This is a paragraph.
This is another paragraph.
4, hoặc mộtvar child = document.getElementById["p1"]; child.parentNode.removeChild[child];This is a paragraph.
This is another paragraph.
5 nếu tagName không được nhận ra.var child = document.getElementById["p1"]; child.parentNode.removeChild[child];This is a paragraph.
This is another paragraph.
Cú pháp
var element = document.createElement[tagName];
4:var child = document.getElementById["p1"]; child.parentNode.removeChild[child];This is a paragraph.
This is another paragraph.
Là thẻ HTML mà bạn muốn tạo mới. Không sử dụng tên đủ điều kiện [như “
7“] với phương thức này. Khi được gọi,var child = document.getElementById["p1"]; child.parentNode.removeChild[child];This is a paragraph.
This is another paragraph.
3 chuyển đổi tagName thành chữ thường trước khi tạo phần tử. Trong Firefox, Opera và Chrome,var child = document.getElementById["p1"]; child.parentNode.removeChild[child];This is a paragraph.
This is another paragraph.
9 hoạt động nhưvar child = document.getElementById["p1"]; child.parentNode.removeChild[child];This is a paragraph.
This is another paragraph.
0.var p = document.createElement["p"]; p.innerText = 'Đây là đoạn văn mới tạo ra'; var parent = document.getElementById["demo"]; var child = document.getElementById["p1"]; parent.replaceChild[p, child];This is a paragraph.
This is another paragraph.
Giá trị trả về
Trả về
1 mới.var p = document.createElement["p"]; p.innerText = 'Đây là đoạn văn mới tạo ra'; var parent = document.getElementById["demo"]; var child = document.getElementById["p1"]; parent.replaceChild[p, child];This is a paragraph.
This is another paragraph.
Ví dụ
HTML
Working with elementsThe text above has been created dynamically.
JavaScript
document.body.onload = addElement; function addElement [] { // create a new div element var newDiv = document.createElement["div"]; // and give it some content var newContent = document.createTextNode["Hi there and greetings!"]; // add the text node to the newly created div newDiv.appendChild[newContent]; // add the newly created element and its content into the DOM var currentDiv = document.getElementById["div1"]; document.body.insertBefore[newDiv, currentDiv]; }
Kết quả
Tính tương thích của trình duyệt web
Trình duyệt trên máy tính
Trình duyệt | Tương thích |
Chrome | Có |
Edge | Có |
Edge | Có |
Edge | Có |
Edge | Có |
Edge | Có |
Edge
Trình duyệt | Tương thích |
Chrome | Có |
Edge | Có |
Edge | Có |
Edge | Có |
Edge | Có |
Edge | Có |
Edge | FireFox |
Internet Eplorer
- Opera
- Safari