从类中删除最近的div中的类

时间:2013-05-29 13:05:48

标签: jquery toggleclass closest

我在使用类删除/添加类到最近的div时遇到问题。现在,它为所有人切换班级,而不是最接近的班级。

我做错了什么?

$(document).on('click', '.btnMoreInfo', function () { 
$(this).closest('div').find('.moreInfo').toggleClass('hide')
})

HTML:

<ul>
<li>
    <button class='btnMoreInfo'>More</button>
    <div class='moreInfo hide'></div>
</li>
<li>
    <button class='btnMoreInfo'>More</button>
    <div class='moreInfo hide'></div>
</li>
<li>
    <button class='btnMoreInfo'>More</button>
    <div class='moreInfo hide'></div>
</li>
<li>
    <button class='btnMoreInfo'>More</button>
    <div class='moreInfo hide'></div>
</li>
<li>
    <button class='btnMoreInfo'>More</button>
    <div class='moreInfo hide'></div>
</li>

3 个答案:

答案 0 :(得分:2)

一种方法是使用jQuery的next()方法(假设你的HTML结构总是像上面那样):

$(document).on('click', '.btnMoreInfo', function () { 
  $(this).next('div').toggleClass('hide');
})

jsFiddle example here.

答案 1 :(得分:0)

您可以使用下一步,例如

$(this).next('.moreInfo').toggleClass('hide');

答案 2 :(得分:0)

$(本)的.next( 'moreInfo。')切换();

您还可以使用slideIn和slideOut并切换