Tôi đã quen với Prototypejs, trong đó $$ ("selector") sẽ trả về null nếu không tìm thấy phần tử nào. Điều này thuận tiện vì tôi có thể làmKiểm tra xem bộ chọn jQuery không tìm thấy kết quả nào
if ($$("selector")) {}
để kiểm tra xem một phần tử có nằm trong DOM hay không.
Tuy nhiên, trong jQuery $ (selector) sẽ trở lại [] nếu không có yếu tố được tìm thấy, vì vậy bây giờ tôi cần phải làm:
if ($(selector).length > 0)
Điều này làm cho mã hơi khó đọc.
Câu hỏi của tôi: Cách tốt nhất để làm điều này là gì? Tôi có nên mở rộng đối tượng jQuery với các phương thức như .empty() và .any(), hoặc có sẵn các hàm để làm điều này không?
Cập nhật: Điều này cũng áp dụng đối với bộ chọn khác trên jQuery mà nên, dù sao, chỉ trả lại một kết quả (như cha mẹ(), hoặc gần nhất())
Bạn chỉ cần làm 'if ($ (selector) .length)' vì nó có vẻ các '0' được falsey ... –
thoát khỏi ' > 0' vị ngữ. Nó là thừa. – adarshr