jQuery ID beginnt mit


130

Ich versuche, alle Elemente mit einer ID zu erhalten, die mit einem Wert beginnt. Unten ist mein jQuery-Code. Ich versuche, bei der Suche nach Elementen eine JavaScript-Variable zu verwenden. Aber es funktioniert nicht. Was fehlt mir unten? Die ID 'Wert', nach der gesucht wird, ist also der Wert des angeklickten Elements

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


    });
});

Antworten:


246

Versuchen:

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

Ein Wort der Warnung: Dieser Selektor funktioniert nicht, wenn der 'Wert' ein HTML-Element ist, wie ich auf die harte Tour herausgefunden habe, als meine IDs für Listenelemente alle mit 'li' begannen. Die Lösung bestand darin, sie mit 'li_' zu starten
— Tim Dawson

50

Bitte schön:

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

Wenn der Wert zum Beispiel ist 'foo', ist der Selektor 'td[id^="foo"]'.

Beachten Sie, dass die Anführungszeichen obligatorisch sind : [id^="...."].

Quelle: http://api.jquery.com/attribute-starts-with-selector/


1
Die Anführungszeichen sind eigentlich nicht obligatorisch: "Wert: Ein Attributwert. Kann entweder ein einzelnes Wort ohne Anführungszeichen oder eine Zeichenfolge in Anführungszeichen sein." Aus den verknüpften Dokumenten in der Antwort. Ähnlich der akzeptierten Antwort.
— Ralph Lavelle
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.