javascript - 为什么我不能向这个 html 元素添加类?

标签 javascript jquery html

我试图在用户单击它时将其事件类添加到元素中。为什么它不起作用?语法有问题吗?

HTML 代码:

  <div class="accordion">
            <h3>a</h3>
            <p class="active">b</p>

            <h3>a</h3>
            <p>b</p>

            <h3>b</h3>
            <p>b</p>

            <h3>b</h3>
            <p>b</p>
        </div>

jQuery 代码:

jQuery(function($) {

    $('div.accordion').click(function(e) {
        e.preventDefault();
        $(this).addClass("active");
    });
});

我想要做的是当用户点击 h3 时,它将其下面的 p 标签设置为事件类

最佳答案

您需要将点击事件绑定(bind)到H3元素。还要确保删除以前的事件元素:

var $h3 = $('.accordion > h3').click(function(e) {
    e.preventDefault();
    $h3.next('p').removeClass('active');
    $(this).next('p').addClass('active');
});

演示:http://jsfiddle.net/2DB37/

关于javascript - 为什么我不能向这个 html 元素添加类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23842245/

相关文章:

javascript - 删除放置在 Canvas 上的最后一个图形,但继续获取 getContext 不是一个函数

javascript - 从 Javascript 使用 Google Drive API

javascript - React抛出错误: Cannot read property 'map' of undefined

javascript - 使用媒体查询来操纵 jquery Accordion

java - 使用 document Ready 将按钮插入 jsp 上的 div

javascript - 导航搜索建议

javascript - 多个文件上传仅显示文件名

javascript - 文本未更改为链接

javascript - ASP.NET 中的 url 解码

css - 当内部 div 位置改变时调整容器 div 的大小