ฉันพยายามค้นหาองค์ประกอบทั้งหมดในหน้าที่มีรหัสองค์ประกอบประกอบด้วยข้อความบางอย่าง จากนั้นฉันจะต้องกรององค์ประกอบที่พบตามว่าถูกซ่อนอยู่หรือไม่ ความช่วยเหลือใด ๆ ที่ได้รับการชื่นชมอย่างมาก
ฉันพยายามค้นหาองค์ประกอบทั้งหมดในหน้าที่มีรหัสองค์ประกอบประกอบด้วยข้อความบางอย่าง จากนั้นฉันจะต้องกรององค์ประกอบที่พบตามว่าถูกซ่อนอยู่หรือไม่ ความช่วยเหลือใด ๆ ที่ได้รับการชื่นชมอย่างมาก
คำตอบ:
$('*[id*=mytext]:visible').each(function() {
$(this).doStuff();
});
หมายเหตุเครื่องหมายดอกจัน '*' จุดเริ่มต้นของตัวเลือกที่ตรงกับองค์ประกอบทั้งหมด
ดูแอตทริบิวต์ประกอบด้วย Selectorsเช่นเดียวกับ: visibleและ: hidden selectors
id
คุณไม่ได้ใช้เครื่องหมายคำพูดซึ่งเมื่อจับคู่กับname
คุณ $('*[name*="myname"]:visible')
ไม่เข้าใจง่ายที่สุดและเคยจับฉันมาก่อน
หากคุณกำลังหาโดยมีแล้วมันจะเป็นอย่างนี้
$("input[id*='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
หากคุณพบโดยเริ่มต้นด้วยก็จะเป็นเช่นนี้
$("input[id^='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
หากคุณพบโดยEnds Withก็จะเป็นเช่นนี้
$("input[id$='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
หากคุณต้องการเลือกองค์ประกอบที่id ไม่ใช่สตริงที่กำหนด
$("input[id!='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
หากคุณต้องการเลือกองค์ประกอบที่ชื่อมีคำที่กำหนดคั่นด้วยช่องว่าง
$("input[name~='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
หากคุณต้องการเลือกองค์ประกอบที่id เท่ากับสตริงที่กำหนดหรือเริ่มต้นด้วยสตริงนั้นตามด้วยยัติภังค์
$("input[id|='DiscountType']").each(function (i, el) {
//It'll be an array of elements
});
สิ่งนี้จะเลือก DIV ทั้งหมดที่มี ID ที่มี 'foo' และที่มองเห็นได้
$("div:visible[id*='foo']");
$(this)[0].innerText
ขอบคุณทั้งสองท่าน สิ่งนี้ใช้ได้ผลอย่างสมบูรณ์สำหรับฉัน
$("input[type='text'][id*=" + strID + "]:visible").each(function() {
this.value=strVal;
});