O ID do jQuery começa com

130

Eu estou tentando obter todos os elementos com um ID começando com algum valor. Abaixo está o meu código jQuery. Estou tentando usar uma variável JavaScript ao procurar itens. Mas não funciona. O que estou perdendo abaixo? Portanto, o ID 'valor' que estou pesquisando é o valor do elemento clicado

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


    });
});
DG3
fonte

Respostas:

246

experimentar:

$("td[id^=" + value + "]")
Mark Kahn
fonte
Uma palavra de aviso: esse seletor não funciona se o 'valor' for um elemento HTML, como descobri da maneira mais difícil quando meus IDs para itens da lista começaram com 'li'. A solução foi iniciá-los com 'li_'
Tim Dawson
50

Aqui está:

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

portanto, se o valor for, por exemplo 'foo', o seletor será 'td[id^="foo"]'.

Note que as aspas são obrigatórias : [id^="...."].

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

Šime Vidas
fonte
1
As aspas não são realmente obrigatórias: "value: um valor de atributo. Pode ser uma palavra única sem aspas ou uma string entre aspas". Dos documentos vinculados na resposta. Semelhante à resposta aceita.
Ralph Lavelle