我想在点击按钮时删除或隐藏div。问题是我有很多div,我想删除我点击按钮的特定div。
我的divs:
<div class="col-sm-4 col--remove">
<div class="post post--preview">
<form class="akcje_konkretne" method="post">
<button type="submit" name="usun" value="usun" class="btn read-more post--btn usun">usuń</button>
</form>
</div>
</div>
<div class="col-sm-4 col--remove">
<div class="post post--preview">
<form class="akcje_konkretne" method="post">
<button type="submit" name="usun" value="usun" class="btn read-more post--btn usun">usuń</button>
</form>
</div>
</div>
<div class="col-sm-4 col--remove">
<div class="post post--preview">
<form class="akcje_konkretne" method="post">
<button type="submit" name="usun" value="usun" class="btn read-more post--btn usun">usuń</button>
</form>
</div>
</div>
<div class="col-sm-4 col--remove">
<div class="post post--preview">
<form class="akcje_konkretne" method="post">
<button type="submit" name="usun" value="usun" class="btn read-more post--btn usun">usuń</button>
</form>
</div>
</div>
我的jQuery:
$('form.actionlist').submit(function(e) {
e.preventDefault();
var $form = $(this);
//Tried with:
$(this).hide();
$(this).closest('.col-sm-4 col--remove').hide();
$('.col-sm-4 col--remove').hide();
});
不知道怎么做,我怎么能隐藏我点击按钮的div?
答案 0 :(得分:3)
你非常接近。两个问题:
submit()
事件处理程序附加到归类为actionlist
的表单,但您的表单实际上归类为akcje_konkretne
。closest()
选择器(“.col-sm-4 col--remove
”)包含空格,但不包含第二个.
。如上所述,这将查找归类为“col-sm-4”的最近元素中的“col-remove”元素。相反,您试图寻找归类为 “col-sm-4”和“col - remove”的最接近的元素:closest('.col-sm-4.col--remove')
。但是还有更好的方法......
如果您想要外部 div ,请尝试:
$('form.akcje_konkretne').submit(function(e) {
e.preventDefault();
$(this).closest('div.col--remove').hide(); //or remove(), if that's what you want
});
我猜测.col--remove
类用于表示“这是你要移除的div”。
你可以view this approach in action(注意外部div有一个红色边框,内部div有一个蓝色边框)。
如果您想要最接近的 div (立即包裹form
提交的那个),请尝试:
$('form.akcje_konkretne').submit(function(e) {
e.preventDefault();
$(this).closest('div').hide(); //or remove(), if that's what you want
});
答案 1 :(得分:3)
只是一个小错误:
$(this).closest('.col-sm-4.col--remove').hide();
控件具有两个类,因此您需要在选择器中对其进行链接。