在jQuery中选择元素二级

时间:2014-11-10 08:52:17

标签: jquery

<p class="align-with-btn">
  <a class="with-icon add-new-line" id="add-line" href="#add-new-line">
    <i class="icon-add-inv"></i>Add Reference
 </a>
</p>
<div class="row update-button">
  <div class="span4">
   <button class="submitAesReference loadRef btn" id="submitReference">
      <i class="icon-submit"></i>Submit  Reference
   </button>
  </div>
</div>

在这里,当我点击下面的按钮时,我想选择带有班级名称“add-new-line”的隐藏链接

我试过

var button = $(this);
button.closest('.span4').parent().closest('.add-new-line').hide();

但它不起作用?

4 个答案:

答案 0 :(得分:2)

.closest仅遍历元素的父级,但.add-new-line不是.row的父级。 所以你必须做像

这样的事情

button.closest('.row').prev().find('.add-new-line')

或者您将p.align-with-btndiv.row包装到另一个元素中,例如div.wrapper。然后你可以这样做:

button.closest('.wrapper').find('.add-new-line')

如果您引入新元素,那么您不必使用可能容易破解的.prev()

答案 1 :(得分:1)

您需要找到当前按钮的父.row元素

的前一个元素
button.closest('.row').prev().find('.add-new-line').hide();

答案 2 :(得分:1)

我看到您的.add-new-line元素也有ID。为什么不用它?

$('#add-line').hide();

答案 3 :(得分:1)

首先选择按钮的行父,然后找到它的兄弟(p),然后在p标签内找到一个标签。

$(&#39;按钮&#39)的父母。(&#39; .row&#39)。兄弟姐妹(&#39; P&#39)。发现(&#39; a.add-新行&#39;。)隐藏();

希望这会有所帮助。