Tôi sử dụng .append
để thêm vào một div
$(this).append('<ul><li>test</li></ul>');
làm cách nào tôi có thể tìm kiếm <ul>
và xóa nó nếu nó tồn tại trong con cái của $(this)
?
Câu trả lời:
Bạn có thể sử dụng remove()
. Thông tin thêm về jQuery remove () .
$(this).children("ul").remove();
Lưu ý rằng điều này sẽ loại bỏ tất cả các ul
phần tử là con.
Ngược lại với .append()
là .prepend()
.
Từ tài liệu jQuery để thêm trước…
Phương thức .prepend () chèn nội dung được chỉ định làm phần tử con đầu tiên của mỗi phần tử trong tập hợp jQuery (Để chèn nó làm phần tử con cuối cùng, hãy sử dụng .append ()).
Tôi nhận ra rằng điều này không trả lời cho trường hợp cụ thể của OP . Nhưng nó trả lời tiêu đề câu hỏi. :) Và đây là thành công đầu tiên trên Google cho "jquery ngược lại append".
Sử dụng phương thức remove () :
$(this).children("ul").remove();
Điều bạn cũng nên xem xét, là giữ một tham chiếu đến phần tử đã tạo, sau đó bạn có thể dễ dàng xóa nó một cách cụ thể:
var newUL = $('<ul><li>test</li></ul>');
$(this).append(newUL);
// Later ...
newUL.remove();
chỉ gặp vấn đề tương tự và tôi đã gặp phải điều này - điều này thực sự mang lại mẹo cho tôi:
// $("#the_div").contents().remove();
// or short:
$("#the_div").empty();
$("#the_div").append("HTML goes in here...");
.contents().remove()
bình đẳng .empty()
.
$(...).empty().append(...)
:)