Cách thêm mã HTML vào div bằng insertAdjacentHTML trong JavaScript
Hướng dẫn cách thêm mã HTML vào một phần tử `div` sử dụng phương thức `insertAdjacentHTML` trong JavaScript, giúp bạn thêm nội dung mà không thay thế toàn bộ nội dung hiện có.
Trong bài viết này, chúng ta sẽ học cách sử dụng phương thức insertAdjacentHTML
trong JavaScript để thêm mã HTML vào một phần tử div
tại các vị trí khác nhau mà không làm mất nội dung HTML hiện tại. Đây là một phương pháp hữu ích để thao tác DOM linh hoạt hơn so với việc dùng innerHTML
.
Mã JavaScript:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Append HTML using insertAdjacentHTML</title>
</head>
<body>
<div id="myDiv">
<p>Initial content inside the div.</p>
</div>
<button onclick="appendHTML()">Add More HTML</button>
<script>
// Hàm dùng để thêm nội dung HTML vào div
function appendHTML() {
// Lấy phần tử div với id 'myDiv'
const myDiv = document.getElementById("myDiv");
// Thêm nội dung HTML mới sau phần tử hiện tại
myDiv.insertAdjacentHTML('beforeend', "<p>New paragraph added using insertAdjacentHTML.</p>");
}
</script>
</body>
</html>
Giải thích chi tiết từng dòng code:
<!DOCTYPE html>
: Khai báo kiểu tài liệu HTML.<div id="myDiv">
: Tạo một phần tửdiv
với nội dung ban đầu.<button onclick="appendHTML()">
: Nút bấm gọi hàmappendHTML
khi được nhấn.function appendHTML()
: Định nghĩa hàm JavaScript dùng để thêm HTML vàodiv
.const myDiv = document.getElementById("myDiv");
: Lấy phần tửdiv
bằngid
.myDiv.insertAdjacentHTML('beforeend', "...");
: Thêm nội dung HTML mới vào phần tửdiv
mà không thay thế nội dung hiện tại. Sử dụng'beforeend'
để thêm nội dung vào cuối phần tử.
Lời khuyên:
insertAdjacentHTML
là một phương pháp hữu ích khi bạn muốn thêm nội dung vào một vị trí cụ thể mà không thay thế nội dung hiện có nhưinnerHTML
.- Có các tùy chọn khác cho phương thức này, chẳng hạn như
'beforebegin'
,'afterbegin'
,'beforeend'
, và'afterend'
, giúp bạn linh hoạt trong việc chèn nội dung HTML.