使用jquery </div>从子元素切换顶部父<div>

时间:2011-11-24 13:37:28

标签: jquery

问题: -

<div>
    <div>
      <div>
        <select id="s1">
           .................
     </div>
   <div>
</div>

我想从元素s1开始切换第一个div。我可以这样做: -

$('#s1').parent().parent().parent().toggle(false);

但是有什么方法可以直接用一些快捷方式到达父div。有什么办法可以避免使用parent()方法3次吗?

请建议。

6 个答案:

答案 0 :(得分:2)

尝试以下方法:

$('#s1').parents('div').last();

这将为您提供select元素的最顶级父div。 另外,还有parentsUntil方法,可以这样使用:

$('#s1').parentsUntil(':not(div)');

答案 1 :(得分:1)

给父母一些类名或id,并使用:

$('#s1').parent('.parent').toggle(false);

答案 2 :(得分:1)

$('#s1').parents('div').last().toggle();

答案 3 :(得分:1)

最好的方法是设置“id”或“class”

HTML

<div class="thisdiv">
    <div>
      <div>
        <select id="s1">
           .................
     </div>
   <div>
</div>

的jQuery

$('#s1').parents('.thisdiv').toggle(false);

答案 4 :(得分:1)

如果您可以更改HTML,则可以执行以下操作 -

HTML

<div class="top">
    <div>
      <div>
          <input type="button" value="c" id="s1"/>
           .................
     </div>
   <div>
</div>

jQuery -

$('#s1').closest('.top').toggle(false);

答案 5 :(得分:0)

您有.parents()(http://api.jquery.com/parents/)可用,它会选择选择器中元素的文档根目录(不包括)之前的所有祖先

但是,再一次,没有任何东西可以过滤它们......我不知道它是否会有所帮助