jQuery以前的DIV类

时间:2013-08-08 03:52:13

标签: jquery

我正在使用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”。

谢谢你们

3 个答案:

答案 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");