JQuery, если H1: содержит слово сделать что-то - PullRequest
3 голосов
/ 17 июня 2011

Я успешно использовал функцию contains(), но никогда не использовал ее с if-statement. Мой код ниже, кажется, не работает, когда это должно. Я в основном говорю, что если H1 содержит слово «истина», сделайте что-нибудь, если не сделайте что-нибудь еще. В настоящее время он показывает только первый бит кода независимо от того, что находится в H1 .., он никогда не показывает часть else.

<H1>This h1 contains the word Star</H1>

if ($("H1:contains('True')")) {
    var test= "<div>IT DID CONTAIN THE WORD TRUE!</div>";
    $('h1').append(test);

} else {
    var test= "<div>IT DID <b>NOT</b> CONTAIN THE WORD TRUE!</div>";
    $('h1').append(test);                     
}

Ответы [ 5 ]

9 голосов
/ 17 июня 2011

Вам необходимо проверить свойство length результирующей коллекции:

if ($("H1:contains('True')").length) {
    ...

Так как $("H1:contains('True')") вернет объект, а объекты всегда оценят как истинные.

1 голос
/ 17 июня 2011

$("H1:contains('True')") - селектор.Он возвращает объект jQuery , а не логическое значение.Чтобы убедиться, что селектор обнаружил какие-либо объекты, проверьте свойство length :

if ($("H1:contains('True')").length) {
    // stuff...
}
0 голосов
/ 17 июня 2011

Проблема в том, что $("H1:contains('True')") всегда возвращает true, потому что это всегда объект.Что вы действительно хотите проверить, так это то, что он содержит элементы.

if ($("H1:contains('True')").length) {

Теперь он вернет остальную часть.

Примечание. Я считаю, что :contains чувствителен к регистру.

0 голосов
/ 17 июня 2011

С содержимым возвращает список.

Обратитесь к этому для решения:

если содержит определенный текст, тогда выполните jquery

0 голосов
/ 17 июня 2011

попробуйте

if ($("H1:contains('True')").length > 0) {
   var test= "<div>IT DID CONTAIN THE WORD TRUE!</div>";
   $('h1').append(test);                     
} else {
   var test= "<div>IT DID <b>NOT</b> CONTAIN THE WORD TRUE!</div>";
   $('h1').append(test);                     
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...