[jQuery] Xóa những phần tử trùng nhau
Trên trang web hiển thị những thẻ div,span,a…giống nhau, bạn khá bực mình và muốn xóa những thẻ đó ?
Tôi sẽ hướng dẫn thủ thuật xóa các phần tử trùng nhau bằng jQuery mà tôi đọc trên trang http://stackoverflow.com . Ví dụ tôi có đoạn code sau :
<div id="before"> <a href="#">Vietnam</a> <a href="#">Cambodia</a> <a href="#">Vietnam</a> <a href="#">Laos</a> <a href="#">Cambodia</a> <a href="#">Cambodia</a> <a href="#">Vietnam</a> <a href="#">Laos</a> </div>
Và tôi chỉ muốn kết quả hiển thị (sau khi xóa các thẻ a giống nhau ) là :
<a href="#">Vietnam</a> <a href="#">Cambodia</a> <a href="#">Laos</a></div>
Đoạn code tôi sử dụng sẽ như sau
var obj = {}; $('a').each(function(){ var text = $(this).text(); if (obj[text]) { $(this).remove(); } else { obj[text] = true; } });
Giải thích,
+ Hàm each() sẽ duyệt tất cả các phần tử (tương tự như lệnh for, while…).
+ Biến obj sẽ chứa các phần tử đã được kiểm tra trước đó, nếu phần tử nào đó trùng với phần tử trong biến obj thì nó sẽ xóa, còn lại sẽ thêm vào biến obj.
+ Hàm remove() xóa bao gồm cả phần tử đang truy xuất và phần tử con.
Bạn làm phim hướng dẫn được không, tôi không làm được
Chào bạn,
Bạn có thể nói rõ hơn về vấn đề bạn đang gặp được không ? Bạn không làm được chỗ nào ?
Xin chào ! mình nghĩ có thể bạn không đặt hàm $(document).ready(function() thôi ! bạn thử xem nhé ! Chứ cái này làm clip thì tội Admin quá ^^
$(document).ready(function(){
//Code của bạn ở đây;
});