jQuery:如何选择父母的所有P子女?

时间:2009-12-15 16:21:25

标签: jquery

HTML:

<style>
   hidden { display:none;}
</style>

<div id="div1">
  <a href="#" onclick="expandSiblingParagraphs(this)">+</a>
  <p>Hello</p>
  <p class="hidden">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
    Integer vulputate, nibh non rhoncus euismod, erat odio pellentesque lacus, 
    sit amet convallis mi augue et odio. Phasellus cursus urna facilisis quam.
    Suspendisse nec.</p>
  <p class="hidden">Another hidden paragraph</p>
</div>

我正在尝试的Javascript:

var expandSiblingParagraphs = function(elt){
  $(this).parent()....?
};

我想选择所有被点击元素的父元素的P,并从中删除隐藏的类。在逻辑中我不想假设包含div的id,或者甚至包含div。我只想要父容器的所有P子元素。

我该怎么做?

the selector syntax中,我可以找到一种方法来获得后代或孩子。我找不到选择父母或上司的方法。我错过了什么吗? 感谢。

2 个答案:

答案 0 :(得分:16)

$(this).parent().children("p.hidden").removeClass("hidden");

答案 1 :(得分:0)

我喜欢使用最近的,因为它起泡了:

$(this).closest("div").find("p").show()

或考虑:

$(this).siblings("p").show();

[更新] 根据以下评论和其他答案:

$(this).siblings("p.hidden").removeClass("hidden");