使用jquery获取附近的div子元素

时间:2014-02-28 09:46:00

标签: jquery validation find children closest

如何使用jquery获取附近div的子元素? 我正在尝试验证()我的输入元素我需要获得class=grand_child_02,当我在class=input_01

HTML:

<div class="parent">
    <div class="child_01">
      <h4 class="grand_child_01_01">
        <a href="#" class="link_01">link_01</a>
      </h4>
      <div class="grand_child_01_02">Some_text</div>
   </div>
   <div class="child_02">
     <div class="grand_child_02_01">
       <input type="text" class="input_01"/>
     </div>
   </div>
  </div>  

感谢。

3 个答案:

答案 0 :(得分:3)

您可以使用 closest() siblings() find()

var grand_child_02 = $(this).closest('.child_02').siblings('.child_01').find('.grand_child_02');

$(this)引用.input_01元素

答案 1 :(得分:2)

使用:

$(this).closest('.child_02').siblings('div').find('.grand_child_02')

<强> Working Fiddle

答案 2 :(得分:1)

澄清我的意见:

我已将其他答案视为正确,但建议稍微使用siblings()而不使用过滤器进行调整。

var $target = $(this).closest('.child_02').siblings().find('.grand_child_02');

this是您指定的输入元素。

如果您只是使用兄弟姐妹(),它将使用额外添加的兄弟div元素(在实际情况下可能会发生)。我认为这对变化更为鲁棒(与使用兄弟姐妹过滤器相比,速度要慢得多)。

e.g。在这个例子中:

小提琴:http://jsfiddle.net/TrueBlueAussie/tw3Yc/1/