jquery toggleClass选择所有列表项而不是一个

时间:2013-09-05 23:51:33

标签: jquery

我是jQuery的新手,我在Stack上搜索过类似的问题,但是没有找到这个特定的问题(我确定很常见)。

我有一个包含默认类的项目列表。我想使用toggleClass来添加翻转效果。问题在于所有的lis都是切换类,而不仅仅是正在徘徊的类。

<ul>
 <li class="my-class"><div id="my-item>1</div></li>
 <li class="my-class"><div id="my-item>2</div></li>
 <li class="my-class"><div id="my-item>3/div></li>
</ul>

$('.my-class, li').on('mouseenter', function() {
    $('#my-item').toggleClass('project-home-title-hover');
});

1 个答案:

答案 0 :(得分:3)

使用this范围选择器。同时删除.my-classli之间的逗号,并将选择器更改为li.myclass。另外my-item应该是一个类而不是id,id必须是唯一的。标记还需要一些工作,其中一个div和缺少引号都有未封闭的结束标记。

$('li.my-class').on('mouseenter  mouseleave', function() {
    $('.my-item', this).toggleClass('project-home-title-hover');
});

<强> HTML

<ul>
 <li class="my-class"><div class="my-item">1</div></li>
 <li class="my-class"><div class="my-item">2</div></li>
 <li class="my-class"><div class="my-item">3</div></li>
</ul>

Js Fiddle: http://jsfiddle.net/SEMKr/1/