我试图在用户点击它时将活动类添加到元素中。为什么不起作用?语法有问题吗?
HTML code:
<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标签设置在它下面的活动类
答案 0 :(得分:2)
您需要将click事件绑定到H3
元素。还要确保删除以前的活动元素:
var $h3 = $('.accordion > h3').click(function(e) {
e.preventDefault();
$h3.next('p').removeClass('active');
$(this).next('p').addClass('active');
});
答案 1 :(得分:1)
我试图将活动类添加到p标记。
您忘记在p标记中添加点击事件:
jQuery(function($) {
$('div.accordion h3').click(function(e) {
e.preventDefault();
$(this).next('p').addClass("active");
});
});
答案 2 :(得分:0)
将jQuery改为喜欢这个
jQuery(function($) {
$('div.accordion p').click(function(e) {
e.preventDefault();
$(this).addClass("active");
});
});
jQuery(function($) {
$('div.accordion h3').click(function(e) {
e.preventDefault();
$(this).next().addClass("active");
});
});