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");
        });


    });
});
DG3
quelle

Antworten:

246

Versuchen:

$("td[id^=" + value + "]")
Mark Kahn
quelle
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/

Šime Vidas
quelle
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