1

我在使用类将类删除/添加到最近的 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>

4

3 回答 3

2

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

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

jsFiddle 示例在这里。

于 2013-05-29T13:11:30.907 回答
0

你可以使用下一个

$(this).next('.moreInfo').toggleClass('hide');
于 2013-05-29T13:08:09.310 回答
0

$(this).next('.moreInfo').toggle();

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

于 2013-05-29T13:18:15.453 回答