jQuery ID เริ่มต้นด้วย


130

ฉันพยายามที่จะได้รับองค์ประกอบทั้งหมดที่มีรหัสเริ่มต้นด้วยค่าบางอย่าง ด้านล่างเป็นรหัส jQuery ของฉัน ฉันพยายามใช้ตัวแปร JavaScript เมื่อค้นหารายการ แต่มันไม่ทำงาน ฉันพลาดอะไรด้านล่าง ดังนั้น id 'value' กำลังค้นหาจึงเป็นค่าขององค์ประกอบที่คลิก

$(document).ready(function() {
    $('input[name$="_chkmulti"]').click(function(){
        var value = $(this).val();
        $("td[id^= + value +]").each(function(){
            alert("yes");
        });


    });
});

คำตอบ:


246

ลอง:

$("td[id^=" + value + "]")

คำเตือน: ตัวเลือกนี้ใช้ไม่ได้หาก 'ค่า' เป็นองค์ประกอบ HTML เนื่องจากฉันพบวิธีที่ยากเมื่อ ID ของฉันสำหรับรายการทั้งหมดเริ่มต้นด้วย 'li' ทางออกคือเริ่มต้นด้วย 'li_'
ทิมดอว์สัน

50

ไปเลย:

$('td[id^="' + value +'"]')

ดังนั้นหากมีค่าเป็นเช่นนั้นเลือกจะเป็น 'foo''td[id^="foo"]'

โปรดทราบว่าคำพูดที่จำเป็นต้องใช้ : [id^="...."].

ที่มา: http://api.jquery.com/attribute-starts-with-selector/


1
เครื่องหมายคำพูดไม่ได้บังคับจริง: "value: ค่าแอตทริบิวต์สามารถเป็นได้ทั้งคำเดียวหรือสตริงที่ยกมา" จากเอกสารที่เชื่อมโยงในคำตอบ คล้ายกับคำตอบที่ยอมรับ
Ralph Lavelle
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.