jQuery ID commence par

131

J'essaie d'obtenir tous les éléments avec un identifiant commençant par une valeur. Voici mon code jQuery. J'essaie d'utiliser une variable JavaScript lors de la recherche d'articles. Mais ça ne marche pas. Que me manque-t-il ci-dessous? Ainsi, l'ID "valeur" que je recherche est la valeur de l'élément cliqué

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


    });
});
DG3
la source

Réponses:

247

essayer:

$("td[id^=" + value + "]")
Mark Kahn
la source
Un mot d'avertissement: ce sélecteur ne fonctionne pas si la «valeur» est un élément HTML, comme je l'ai découvert à la dure lorsque mes identifiants pour les éléments de liste commençaient tous par «li». La solution était de les démarrer avec 'li_'
Tim Dawson
51

Voici:

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

donc si la valeur est par exemple 'foo', alors le sélecteur sera 'td[id^="foo"]'.

Notez que les guillemets sont obligatoires : [id^="...."].

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

Šime Vidas
la source
1
Les guillemets ne sont pas réellement obligatoires: "valeur: une valeur d'attribut. Il peut s'agir d'un seul mot non entre guillemets ou d'une chaîne entre guillemets." À partir des documents liés dans la réponse. Similaire à la réponse acceptée.
Ralph Lavelle