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.