Xóa các phần tử con của một phần tử bất kỳ bằng jQuery

Tôi có đoạn code sau :

<div id="thumbnails">
<img src="#" alt="" />
<img src="#" alt="" />
<img src="#" alt="" />
</div>

Tôi muốn xóa hết các thẻ img được bọc trong thẻ div lớn với id là thumbnails. Có bao giờ bạn muốn xóa tất cả các phần tử con trong 1 phần tử bất kì ? Sẽ có rất nhiều cách, trong bài viết này tôi sẽ giới thiệu giải pháp với JavaScript và jQuery.

1, JavaScript

Thuật toán cũng đơn giản, ban đầu tôi sẽ kiểm tra div lớn có chứa các thẻ con hay không, nếu có thì sẽ dùng vòng lặp xóa các thẻ con đó. Đoạn code xử lý như sau :

/*Removing all child nodes from an element*/
var element = document.getElementById("thumbnails");
if ( element.hasChildNodes() ){
while ( element.childNodes.length >= 1 ){
element.removeChild( element.firstChild );
}
}

2, jQuery

Với ngôn ngữ jQuery thì mọi việc trở nên đơn giản hơn, bạn có thể sử dụng hàm empty() hoặc remove() để xóa các phần tử con.

Hàm empty() remove() thường được dùng để xóa các phần tử trong jQuery. Tuy hai hàm này có cùng chung một hành động nhưng chúng có một chút khác biệt như sau:

  • empty() chỉ xóa các phần tử con của phần tử đang truy xuất.
  • remove() giống hàm empty nhưng nó sẽ xóa bao gồm cả phần tử đang truy xuất và phần tử con.

Đoạn code xử lý như sau :

$(document).ready(function(){
$('#thumbnails').remove();
//Hoặc
$('#thumbnails').empty();
});

3, Tổng kết

Các bạn có thể thấy sự linh hoạt và đơn giản khi dùng jQuery thay cho JavaScript. Hiện nay các lập trình viên/designer thường sử dụng jQuery trong các dự án vì nó rất hữu ích, cung cấp khá nhiều hiệu ứng và plugin mà nếu làm bằng JavaScript sẽ khá vất vả. Hiện có rất nhiều ebook và trang web giúp bạn học jQuery từ những bước căn bản nhất, cá nhân tôi thì cũng đã bắt đầu từ trang w3schools.com . Các bạn có thể học hỏi khá nhiều điều từ trang đó. Chúc vui !

Tấn Việt

Tôi lập trang web này để thỏa mãn sở thích viết cái gì đó vui vui khi rãnh rỗi và đồng thời cũng chia sẻ những gì tôi biết hoặc đọc đâu đó trên mạng về Lập trình web. Tôi hi vọng những bài viết này sẽ giúp ích cho các bạn. Thân ái!

You may also like…