2013-03-06 26 views
5

Có cách nào hoàn thành tập lệnh này trong một dòng không?Xóa hai phần tử trong một dòng

$(this).next("br").remove(); 
$(this).remove(); 

Tôi đã thử $(this).remove().next("br").remove(); nhưng điều này không hiệu quả vì chúng tôi đang xóa phần tử trước khi chúng tôi có thể tìm thấy yếu tố tiếp theo.

+0

$ (this) .next ('br'). Remove(). End(). Remove(); – DoXicK

Trả lời

9

Bạn có thể sử dụng addBack() (hoặc người tiền nhiệm của nó andSelf() trước jQuery 1.8):

$(this).next("br").addBack().remove(); 

Cách khác, bạn có thể sử dụng end() để trở lại các thiết lập trước các yếu tố phù hợp:

$(this).next("br").remove().end() 
     .remove(); 
+2

Thật tuyệt vời! Không bao giờ biết về hàm 'andSelf()'. Bạn học được điều gì mới mỗi ngày! –

+0

'andSelf()' không được dùng nữa, chỉ là FYI. Bạn nên sử dụng 'addBack()'. http://api.jquery.com/addBack/ –

+1

@David, tuyệt đối, tôi đã ưu tiên cập nhật câu trả lời của mình :) –

3
$(this).add($(this).next("br")).remove(); 
3
$(this).next("br").addBack().remove();