JQuery разобраться ли - PullRequest
       22

JQuery разобраться ли

0 голосов
/ 29 декабря 2010

У меня есть код

<ul id="list">
 <li>test</li>
 <li class="header">test</li>
 <li>test</li>
</ul>

Мне нужно выполнить этот код

(используйте jquery)

var items = $("#list li");

$.each(items, function (key, value) {
 if ($(value).hasClass(".header")) { 
    ... Do Something ...
    }
}

этот код не работает, потому что значение =='test'

Извините, мой английский ужасен

Ответы [ 2 ]

3 голосов
/ 29 декабря 2010

Я не знаю, что вы подразумеваете под value == 'test'.Ничего подобного в вашем вопросе нет.

В вашем $.each() отсутствует закрывающее ).

Кроме того, ваш .hasClass не должен включать . в названии класса.

Так вот:

.hasClass(".header")

должно быть:

.hasClass("header")

Хотя, если вам интересно запускать код только для элементов, которые имеют класс, простосделать .filter() до .each().

items.filter('.header').each( function (key, value) {
    ... Do Something ...
});

Если у вас нет другого использования для коллекции, вы можете изменить селектор следующим образом:

$('#list li.header').each( function (key, value) {
    ... Do Something ...
});

Но только если вам больше не нужно кэшировать все элементы <li>.

2 голосов
/ 29 декабря 2010

Вы используете.в функции hasClass при передаче имени класса.Измените его на:

var items = $("#list li");  
    $.each(items, function (key, value){  
        if ($(value).hasClass("header")){      
            alert('Hi');
            //Do Something
        } 
    });
...