javascript
  • jquery
  • 2011-11-25 113 views 1 likes 
    1

    我有以下HTML結構:單擊自己的切換按鈕後,只切換當前div?

    (玉模板語言)

    #review-item-1.review-item 
         a.submit-review-toggle(href="#").review-item-toggle + 
         h3 Service 
         .review-overview 
         textarea(class='submit-review-overview', name='message', placeholder='Overview') 
         .review-photo 
         img(src="images/no-photo.png") 
    

    我希望能夠展開和摺疊.review-item div的高度(頂部):

    $(".submit-review-toggle").click(function() { 
        $(".review-item").animate({ 
         height: "toggle", 
        }, "slow"); 
    }); 
    

    問題是我會在單個頁面中有很多.review-item div。因此,我需要在點擊自己的.submit-review-toggle按鈕後切換「當前」.review-item div。

    有關如何完成此任務的任何建議?

    +1

    你能發佈更清晰的(即真正的HTML)結構嗎?如果你只需要獲取元素的父元素,jQuery就有parent()方法。 – Viruzzo

    回答

    3

    嘗試以下方法:

    $(".submit-review-toggle").click(function() { 
        $(this).closest(".review-item").animate({ 
         height: "toggle", 
        }, "slow"); 
    

    });

    最接近的選擇器獲取與選擇器匹配的第一個元素,從當前元素開始並在DOM樹中前進。 See here for documentation

    +0

    ,這就如同說:切換它的父類與該類? – alexchenco

    +1

    那麼,「.closest()」意思是「找到最接近的匹配下一個選擇器的父對象」。 – Pointy

    相關問題