<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();
但它不起作用?
答案 0 :(得分:2)
.closest
仅遍历元素的父级,但.add-new-line
不是.row
的父级。
所以你必须做像
button.closest('.row').prev().find('.add-new-line')
。
或者您将p.align-with-btn
和div.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;。)隐藏();
希望这会有所帮助。