Подтвердить что ты не робот

Селектор jQuery, содержит равные

У меня есть следующий селектор

    var likeComperssionOption = $('select[id*=ComparisionType]').eq(0)
                                            .find("option:contains('LIKE')");

это проверяет наличие опции, в которой содержит слово "нравится" правильно?

Как найти опцию точно со словом "like"?

Что-то вроде этого:

     var likeComperssionOption = $('select[id*=ComparisionType]').eq(0)
                                            .find("option:equals('LIKE')");
4b9b3361

Ответ 1

Просто выберите все параметры из select и отфильтруйте их по значению text():

var likeComperssionOption = $('select[id*=ComparisionType]:first option').filter(function() { return $(this).text() == "LIKE" });

Ответ 2

Если вы хотите выбрать на основе атрибута value параметров, вам нужно использовать атрибут равно селектору, чтобы выбрать элементы с определенное значение для их атрибута value:

var likeComperssionOption = $('select[id*=ComparisionType]').eq(0)
                           .find("option[value='LIKE']")

В противном случае, чтобы выбрать на основе текста отображения параметров, используйте:

var likeComperssionOption = $('select[id*=ComparisionType]').eq(0)
                           .find("option").filter(function() {
                               return $(this).text() == 'LIKE';
                           });

Обновление: У вас могут возникнуть проблемы с вашим начальным селектором, это выглядит очень странно. Вероятно, вы должны изменить

$('select[id*=ComparisionType]').eq(0)

к чему-то простому, например

$('#ComparisionType')

Понятие этого ответа отлично работает, вы можете видеть его в действии здесь.