ฉันกำลังพยายามเลือกองค์ประกอบทั้งหมดที่มีdata-go-to
แอตทริบิวต์ที่ไม่ว่างเปล่า
ฉันได้ลองแล้ว$('[data-go-to!=""]')
แต่แปลกพอที่จะเลือกทุกองค์ประกอบในหน้าถ้าฉันทำอย่างนั้น
ฉันกำลังพยายามเลือกองค์ประกอบทั้งหมดที่มีdata-go-to
แอตทริบิวต์ที่ไม่ว่างเปล่า
ฉันได้ลองแล้ว$('[data-go-to!=""]')
แต่แปลกพอที่จะเลือกทุกองค์ประกอบในหน้าถ้าฉันทำอย่างนั้น
คำตอบ:
ลอง
$(':not([data-go-to=""])')
อัพเดท:
เพื่อไม่ให้ใครหลงทางคำตอบนี้จะใช้ได้กับ jQuery เวอร์ชันเก่ากว่า แต่ไม่สามารถพิสูจน์ได้ในอนาคต เนื่องจากคำตอบของ @gmo และ @ siva ทั้งคู่ดูเหมือนจะใช้ได้กับรุ่นที่ใหม่กว่าฉันจึงเลื่อน (และขอแนะนำให้คุณโหวต) คำตอบของพวกเขา .... และแน่นอนว่าคุณจะมีวันที่ยอดเยี่ยม
$('element:not([attribute=])'); // gets all of <element attribute="">
หรือ$(':not([attribute=])'); // gets all of <* attribute="">
$('[data-go-to!=""]:[data-go-to]')
ทำได้
เช่นเดียวกับการอ้างอิงเพิ่มเติมและข้อมูลล่าสุด (พ.ค. 57) (ส.ค. 15) (ก.ย. 59) (เม.ย. 60) (มี.ค. 61) (มี.ค. 62) ( พ.ค. 2563 ) ...
คำตอบที่ใช้ได้กับ:
สตริงว่าง:
หากต้องมีอยู่และอาจมีค่าใด ๆ(หรือไม่มีเลย)
attr
jQuery("[href]");
ไม่มีแอตทริบิวต์:
ถ้าสามารถที่มีอยู่และถ้าอยู่จะต้องมีค่าบางอย่าง
attr
jQuery("[href!='']");
หรือทั้งคู่:
ถ้าต้องมีอยู่ & ต้องมีค่า ...
attr
jQuery("[href!=''][href]");
PS : สามารถผสมได้มากขึ้น ...
jQuery v1.11.0 ->
jsFiddle online testjQuery v2.1.0 ->
jsFiddle online testjQuery v2.1.3 ->
jsFiddle online testjQuery v3.0.0-alpha1 ->
jsFiddle online testjQuery v3.1.1 Slim ->
jsFiddle online test jQuery v3.2.1 ->
jsFiddle online test jQuery v3.3.1 ->
jsFiddle online test jQuery v3.4.1 ->
jsFiddle online test jQuery เวอร์ชันล่าสุดพร้อมใช้งานใน jsFiddle ที่ 28 พฤษภาคม 20 jQuery Edge ->
jsFiddle online test jQuery edge รุ่น (ใช้ด้วยความระมัดระวัง) * Snippet กำลังเรียกใช้ jQuery v2.1.1
$(':not([data-go-to=""])')
ไม่ทำงานอีกต่อไป
$('[data-go-to!=""]:[data-go-to]').each(function() {
// Do Your Stuff
});
Unrecognized Expression
ข้อผิดพลาด
มี 'data-attributename' และค่าไม่ว่างเปล่า:
$('[data-attributename]:not([data-attributename=""])')
มี "data-attributename" ว่างเปล่าหรือไม่:
$('[data-attributename]')
$('[data-go-to]:not([data-go-to=""])')
$('[data-go-to]').filter(function() {
return $(this).data('go-to')!="";
});
การใช้:not
, .not()
, :empty
ฯลฯ เพียง แต่จะตรวจสอบว่าองค์ประกอบของตัวเองเป็นที่ว่างเปล่าไม่แอตทริบิวต์ข้อมูล สำหรับสิ่งนั้นคุณจะต้องกรองตามค่าแอตทริบิวต์ข้อมูล
สิ่งนี้ใช้ได้กับฉัน
$('[attributename]').filter('[attributename!=""]')
ลองสิ่งนี้:
$('[data-go-to:not(:empty)]')
"Syntax error, unrecognized expression: [data-go-to:not(:empty)]"
สิ่งนี้ใช้ได้กับฉัน:
$('.data .title td[data-field!=""]')