(เนื่องจากฉันดูเหมือนจะมีชื่อเสียงไม่พอที่จะโหวตคำตอบ ... )
Wolfเขียนว่า:
การโทรหาคุณสมบัติความยาวบนที่ไม่ได้กำหนดหรือวัตถุว่างเปล่าจะทำให้เบราว์เซอร์ IE และ webkit ล้มเหลว!
ลองทำสิ่งนี้แทน:
// NOTE!! THE FOLLOWING IS WRONG; DO NOT USE! -- EleotleCram
if($("#something") !== null){
// do something
}
หรือ
// NOTE!! THE FOLLOWING IS WRONG; DO NOT USE! -- EleotleCram
if($("#something") === null){
// don't do something
}
ในขณะที่เป็นจริงการเรียกคุณสมบัติความยาวบนวัตถุที่ไม่ได้กำหนดหรือ null จะทำให้เบราว์เซอร์ล้มเหลวผลลัพธ์ของตัวเลือกของ jQuery ($ ('... ')) จะไม่เคยเป็นโมฆะหรือไม่ได้กำหนดไว้ ดังนั้นการแนะนำรหัสจึงไม่สมเหตุสมผล ใช้หนึ่งในคำตอบอื่น ๆ พวกเขามีเหตุผลมากขึ้น
(อัปเดต 2012) เนื่องจากผู้คนมองดูโค้ดและคำตอบนี้ค่อนข้างสูงในรายการ: ในช่วงสองสามปีที่ผ่านมาฉันใช้ปลั๊กอินขนาดเล็กนี้:
jQuery.fn['any'] = function() {
return (this.length > 0);
};
ฉันคิดว่า$ ('div') ใด ๆ ()อ่านดีกว่า$ ('div') ความยาวรวมทั้งคุณจะไม่ได้รับความผิดพลาดมากจากการพิมพ์ผิด: $ ('div') ayn ()จะให้ข้อผิดพลาดรันไทม์ , $ ('div'). lenghtจะเงียบเกินไป
__
แก้ไขพฤศจิกายน 2012:
1) เนื่องจากผู้คนมักจะมองที่โค้ดและไม่ได้อ่านสิ่งที่ถูกกล่าวถึงในโค้ดฉันจึงได้เพิ่มคำบรรยายขนาดใหญ่สองคำในรหัสที่อ้างถึงของ Wolf
2) ฉันเพิ่มรหัสของปลั๊กอินขนาดเล็กที่ฉันใช้สำหรับสถานการณ์นี้