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


    });
});

Odpowiedzi:


249

próbować:

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

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/


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.