2

私はいくつかのliを持っています:

<ul>
    <li class="one"></li>
    <li class="one"></li>
    <li class="two"></li>
</ul>

そして私はclass="one"を持っているものだけを表示しようとしています

私は次のようなことを試しました:

var li = $('li');

    li.each(function(index, data)
    {
        var liClass = li.attr('class');

        switch(liClass)
        {
        case 'one':
              console.log(data);
          break;
        default:
            console.log('no match');
          break;
        }
    });

この場合、次console.log(data);を返す必要があります。

<li class="one"></li>
<li class="one"></li>

しかし、それはそれらすべてを返します

何か案は?

ありがとう

4

4 に答える 4

2
var li = $('li');
    li.each(function(index, data)
    {
var liClass = li.attr('class'); 
// You're selecting li which is the $('li'), and not element inside each(), use $(this) instead.
...

$('li')内部の要素ではなく、であるliを選択している場合は、代わりeach()に使用してください$(this)

使用するvar liClass = $(this).attr('class');

これがフィドルです

于 2012-11-07T08:13:50.197 に答える
2
var li = $('li');

li.each(function(index, data) {
    if($(this).hasClass('one')) {
          console.log(data);
    }
});
于 2012-11-07T08:07:25.660 に答える
2

クラスセレクターを使用して、jQueryで特定のクラスを持つすべての要素を取得できます。

$(".one")
于 2012-11-07T08:06:46.930 に答える
1

質問を正しく理解していれば、これはjQueryで本当に簡単なはずです。

console.log($('li.one'))
于 2012-11-07T08:06:30.110 に答える