我说布局有五个div,如下面的代码所示。
//Div one
<div class="container">
<div class="hide">
<button class="hide" value="hide" />
</div>
</div>
//Div Two
<div class="container">
<div class="hide">
<button class="hide" value="hide" />
</div>
</div>
//Div Three
< div class="container">
<div class="hide">
<button class="hide" value="hide" />
</div>
</div>
现在说我点击第二个div中的隐藏按钮,我想要隐藏第二个div ..这就是我想隐藏对应于按钮单击的div。 如何通过jquery只做??? ???
我尝试通过jquery使用'this'关键字,但这会隐藏所有容器而不只是一个容器。 请帮帮我
答案 0 :(得分:2)
$('button.hide').on('click', function() {
$(this).closest('.container').hide()
});
我指定button.hide
而不是.hide
作为选择器,因为你有更多不同的元素与该类名
请参阅jQuery docs
上的closest()
用法
获取与选择器匹配的第一个元素,从当前元素开始并逐步向上遍历DOM树。
答案 1 :(得分:0)
使用jQuery .closest()
方法遍历DOM树以定位<div>
。然后你可以触发div上的隐藏。
$('button.hide').click(function() {
$(this).closest('.container').hide();
});
当然,这是在DOM ready上完成的:$(document).ready(function() { /*...*/ });