Identyfikator jQuery zaczyna się od

131

Próbuję uzyskać wszystkie elementy z identyfikatorem zaczynającym się od jakiejś wartości. Poniżej znajduje się mój kod jQuery. Próbuję użyć zmiennej JavaScript podczas wyszukiwania elementów. Ale to nie działa. Czego mi brakuje poniżej? Więc id 'wartość' szukam jest wartością klikniętego elementu

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


    });
});
DG3
źródło

Odpowiedzi:

249

próbować:

$("td[id^=" + value + "]")
Mark Kahn
źródło
Słowo ostrzeżenia: ten selektor nie działa, jeśli „wartość” jest elementem HTML, o czym przekonałem się na własnej skórze, gdy moje identyfikatory elementów listy zaczynały się od „li”. Rozwiązaniem było rozpoczęcie ich od „li_”
Tim Dawson
52

Proszę bardzo:

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

więc jeśli wartością jest na przykład 'foo', selektor będzie 'td[id^="foo"]'.

Zauważ, że cytaty są obowiązkowe : [id^="...."].

Źródło: http://api.jquery.com/attribute-starts-with-selector/

Šime Vidas
źródło
1
Cudzysłowy nie są w rzeczywistości obowiązkowe: „wartość: wartość atrybutu. Może to być niecytowane pojedyncze słowo lub ciąg znaków w cudzysłowie”. Z połączonych dokumentów w odpowiedzi. Podobna do zaakceptowanej odpowiedzi.
Ralph Lavelle