javascript - 对于具有相同类的多个元素,仅影响 jquery 中单击的元素

标签 javascript jquery html events click

我一直在寻找解决这个问题的方法,但我就是想不通。

我想要的是被点击的特定标题是唯一展开的标题。

演示在这里:http://jsfiddle.net/bm92L0eg/1/

html:

<h3 class="click-list">header a</h3>
<ul class="open-list">
    <li>item</li>
    <li>item</li>
    <li>item</li>
</ul>

<h3 class="click-list">header b</h3>
<ul class="open-list">
    <li>item</li>
    <li>item</li>
    <li>item</li>
</ul>

<h3 class="click-list">header c</h3>
<ul class="open-list">
    <li>item</li>
    <li>item</li>
    <li>item</li>
</ul>

j查询:

$('.click-list').click(function() {
    $(this).find('.open-list').slideToggle(600);
});

jquery 代码不起作用,而下面的代码是激活所有 header 的代码:

$('.open-list').slideToggle(600);

最佳答案

使用 .next() 选择相邻的 .open-list 元素。

应该是:

$('.click-list').click(function () {
    $(this).next('.open-list').slideToggle(600);
});

Updated Example

关于javascript - 对于具有相同类的多个元素,仅影响 jquery 中单击的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28377133/

相关文章:

javascript - 使对象键成为等效子对象中的值

javascript - 使用 javascript 将按钮添加到 svg-object

javascript - 屏幕调整大小时重置切换(多种样式)

php - Fancybox 实例向自身发送 POST

javascript - 单击按钮隐藏/显示 div

html - 无法延长 Bootstrap 3 表单的大小

javascript - 如何在 Angular 5 中发布 XML 主体?

javascript - 可编辑表格单元格的 Jeditable 替代方案

jquery - 是否可以在页面上放置一个焦点,这样如果内容发生变化,滚动条就会随着该点移动?

javascript - 获取类型错误 : undefined is not a function AngularJS