我正在使用jQuery来获取之前的DIV类“我们的伙伴 - 阅读更多”。我已经尝试了很多但是不可能做到这一点。
HTML
<div class="our-partner-readmore"><a class="accordion-toggle btn-readmore collapsed" data-toggle="collapse" data-parent="#accordion2" href="#collapse2"></a></div>
<div class="our-partner-readmore"><a class="accordion-toggle btn-readmore collapsed" data-toggle="collapse" data-parent="#accordion2" href="#collapse2"></a></div>
JS
$('a.btn-readmore').on("click", function(){
var is_collapsed = $(this).hasClass("collapsed");
alert(is_collapsed);
if(is_collapsed){
$(this).prev('.our-partner-readmore').addClass("none");
$(this).next('.our-partner-readmore-closed').removeClass("none");
} else {
$(this).prev('.our-partner-readmore-closed').addClass("none");
$(this).next('.our-partner-readmore').removeClass("none");
}
});
更多解释
每当有人点击“a.btn-readmore”时,使用jQuery尝试动态获取前一个div类“our-partner-readmore”。
谢谢你们
答案 0 :(得分:1)
您的问题可能会使用jquery父函数解决。这是api detail。
$(this).parent(); //Will give you the parent
答案 1 :(得分:1)
$(this).prev and $(this).next are to search for the siblings
由于您要申请该课程的div是点击链接的父母,所以要点击其父母
所以你可以编写像
这样的代码 $('a.btn-readmore').on("click", function(){
var is_collapsed = $(this).hasClass("collapsed");
alert(is_collapsed);
if(is_collapsed){
$(this).parents('.our-partner-readmore').prev().addClass("none");
$(this).parents('.our-partner-readmore-closed').next().removeClass("none");
} else {
$(this).parents('.our-partner-readmore-closed').addClass("none");
$(this).parents('.our-partner-readmore').removeClass("none");
}
});
答案 2 :(得分:0)
.prev()为你提供了元素的先前兄弟,你需要的是一个祖先元素
您也可以使用.closest()查找与给定选择器匹配的最近祖先
$(this).closest('.our-partner-readmore').addClass("none");