В jQuery мой: содержит селектор игнорируется - PullRequest
1 голос
/ 29 января 2012

Я пытаюсь добавить класс к элементу, если слово «Да» появляется где-то в его потомках.До сих пор я написал приведенный ниже код, который применяет класс независимо от того, появляется слово или нет.Есть идеи?

$(document).ready(function() {
    if ($(".views-row-1 .field-item:contains('Yes')")) {
             $(".views-row-1 .field-name-field-exp").addClass("solexpandable");
    }
});

1 Ответ

3 голосов
/ 29 января 2012

This:

$(".views-row-1 .field-item:contains('Yes')")

всегда имеет значение true в булевом контексте, независимо от того, что (если вообще что-либо) соответствовало.Если вы хотите узнать, соответствует ли ваш селектор чему-либо, проверьте length:

if ($(".views-row-1 .field-item:contains('Yes')").length) {
    $(".views-row-1 .field-name-field-exp").addClass("solexpandable");
}
...