идентификатор jQuery начинается с

131

Я пытаюсь получить все элементы с идентификатором, начинающимся с некоторого значения. Ниже мой код jQuery. Я пытаюсь использовать переменную JavaScript при поиске предметов. Но это не работает. Что мне не хватает ниже? Таким образом, id 'value', который я ищу, - это значение элемента, по которому щелкнули

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


    });
});
DG3
источник

Ответы:

247

пытаться:

$("td[id^=" + value + "]")
Марк Кан
источник
Предупреждение: этот селектор не работает, если 'value' является элементом HTML, как я обнаружил на собственном горьком опыте, когда все мои идентификаторы для элементов списка начинались с 'li'. Решением было начать их с li_
Тим Доусон
51

Ну вот:

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

поэтому, если значение, например 'foo', будет селектором 'td[id^="foo"]'.

Обратите внимание , что котировки являются обязательными : [id^="...."].

Источник: http://api.jquery.com/attribute-starts-with-selector/

Шиме Видас
источник
1
Кавычки на самом деле не являются обязательными: «значение: значение атрибута. Может быть либо одиночным словом без кавычек, либо строкой в ​​кавычках». Из связанных документов в ответе. Аналогично принятому ответу.
Ralph Lavelle