ฉันใช้ตัวเลือกของ jQuery โดยเฉพาะ id selector:
$("#elementId")...
ฉันจะตรวจสอบได้อย่างไรว่า jQuery พบองค์ประกอบหรือไม่ แม้ว่าองค์ประกอบที่มีรหัสที่ระบุจะไม่มีคำสั่งถัดไปให้ฉัน:[object Object]
alert($("#idThatDoesnotexist"));
ฉันใช้ตัวเลือกของ jQuery โดยเฉพาะ id selector:
$("#elementId")...
ฉันจะตรวจสอบได้อย่างไรว่า jQuery พบองค์ประกอบหรือไม่ แม้ว่าองค์ประกอบที่มีรหัสที่ระบุจะไม่มีคำสั่งถัดไปให้ฉัน:[object Object]
alert($("#idThatDoesnotexist"));
คำตอบ:
$('#idThatDoesnotexist').length
คือสิ่งที่คุณกำลังมองหา (หากไม่พบสิ่งนี้จะเป็น=== 0
เช่นนั้น) ดังนั้นคำสั่งเงื่อนไขของคุณควรเป็น:
if ($ ('# id'). length) {/ * code if found * /} else {/ * code if not found * /}
คุณได้รับออบเจ็กต์ที่ส่งคืนจากการแจ้งเตือนนั้นเนื่องจาก jQuery (เกือบ) ส่งคืน "วัตถุ jQuery" เสมอเมื่อคุณใช้งานซึ่งเป็นกระดาษห่อหุ้มสำหรับองค์ประกอบที่ jQuery พบว่าอนุญาตให้มีการผูกมัดวิธีการ
== 0
คุณจะเห็นได้ทุกที่
if (!!$('#id').length)
ที่ทำบูลีนได้
Futuraprime ถูกต้อง แต่คุณสามารถย่อไวยากรณ์ของคุณได้โดยทำดังต่อไปนี้:
if ($("#id").length) {
//at least one element was found
} else {
//no elements found
}
!$.isEmptyObject($.find('#id'))
สิ่งนี้จะคืนค่าเป็นจริงหากองค์ประกอบนั้นมีอยู่และเป็นเท็จหากไม่มี
$('#my_selector').length > 0
$('#my_selector').get(0) !== undefined
$('#my_selector')[0] !== undefined
นี่คือพื้นฐานตอนนี้ทำทุกอย่างที่คุณต้องการ