Jquery 如何添加活动类显示/隐藏选项卡?
我想实现的是,当我点击一个标签时,它会添加一个“active”类,它工作正常,但显示的内容是错误的 div1显示div2内容,div2显示div1内容,我的代码如下:Jquery 如何添加活动类显示/隐藏选项卡?,jquery,Jquery,我想实现的是,当我点击一个标签时,它会添加一个“active”类,它工作正常,但显示的内容是错误的 div1显示div2内容,div2显示div1内容,我的代码如下: <div class="buttons"> <a id="buttonshowone" class="showsearch active" target="1">Properties For Sale</a> <a id="buttonshowtwo" class="showsearch"
<div class="buttons">
<a id="buttonshowone" class="showsearch active" target="1">Properties For Sale</a>
<a id="buttonshowtwo" class="showsearch" target="2">Properties To Let</a>
</div>
<div id="div1" class="searchbut">
</div>
<div id="div2" class="searchbut">
</div>
在链中使用同级是选择另一个div,而不是所需的div。请尝试以下方法:
jQuery('#div1').show();
jQuery('#div2').hide();
jQuery('.showsearch').click(function () {
jQuery('.searchbut').hide();
jQuery('#div' + $(this).data('target')).show();
jQuery(this).addClass('active').siblings().removeClass('active');
});
我还建议在此处使用自定义数据属性(data-
)而不是使用目标属性,除非您还有其他需要使用目标属性。
jQuery(函数(){
jQuery('#div1').show();
jQuery('#div2').hide();
jQuery('.showsearch')。单击(函数(){
jQuery('.searchbut').hide();
jQuery('.showsearch.active')。而不是(this.removeClass('active');
jQuery(this).not('.active').addClass('active');
jQuery('#div'+$(this).data('target')).show();
});
});代码>
待售物业
出租物业
第一组
第2组
请发布呈现的HTML,而不是PHP。您有两个id相同的
。第二个应该是
?对不起,是我的错,这是divid2,上面修改的问题。您希望从中获得什么项目:$(this).addClass('active').sides().removeClass('active').attr('target')
?也许您应该简化此操作,并将操作与属性获取分离。因为它得到的是兄弟姐妹
,而不是这个
@SpencerWieczorek-谢谢你的回答,我对Jquery和tabs是新手,我以为这部分我做错了,还有什么选择?
jQuery('#div1').show();
jQuery('#div2').hide();
jQuery('.showsearch').click(function () {
jQuery('.searchbut').hide();
jQuery('#div' + $(this).data('target')).show();
jQuery(this).addClass('active').siblings().removeClass('active');
});