Javascript jQuery:如何正确选择.parent.prev?
通常我使用jquery:Javascript jQuery:如何正确选择.parent.prev?,javascript,jquery,Javascript,Jquery,通常我使用jquery: $( ".product_imgfiles a" ).click(function(event) { $( this ).parent( "div" ).remove(); }); 但是,它只适用于文档就绪,而不适用于新的附加元素。然后我换成这样: $(document).on("click", ".product_imgfiles a", function() { $( this ).parent( "div" ).remove(); }); 但是,在
$( ".product_imgfiles a" ).click(function(event) {
$( this ).parent( "div" ).remove();
});
但是,它只适用于文档就绪,而不适用于新的附加元素。然后我换成这样:
$(document).on("click", ".product_imgfiles a", function() {
$( this ).parent( "div" ).remove();
});
但是,在第二个例子中,我的代码没有删除div。我在这个论坛上读了一些帖子,并修改成一些组合:
$( this ).prev().parent( "div" ).remove();
$( this ).parent( "div" ).prev().remove();
$( this ).parent().prev( "div" ).remove();
它们都没有成功删除当前.product\u imgfiles
的父div。在这种情况下如何正确选择
更新:HTML结构
<div id="product_imgfiles_container" class="row">
<?
if (isset ($product_imgfiles)) {
for ($i=2; $i<($num_product_imgfiles+2); $i++) {
echo '<div class="col-xs-4 col-md-2" style="padding-left: 7px; padding-right: 7px;">
<div class="thumbnail product_imgfiles">
<img src="'. $directory . $product_imgfiles[$i] .'" style="margin-bottom: 5px;">
<a href=""><span><i class="fa fa-times-circle"></i> hapus</span></a>
</div>
</div>';
}
}
?>
</div>
$(此)
在事件处理程序中指的是
我建议在.product\u imgfiles
元素的父元素中添加一个类,并使用该类从DOM中删除该元素
HTML:
echo '<div class="col-xs-4 col-md-2 productContainer"> ...
// ^^^^^^^^^^^^^^^^ Add this class
$(this).closest('.productContainer').remove();
成功
$(document).on("click", ".product_imgfiles a", function() {
$( this ).parent().parent().remove();
});
您需要删除product\u imgfiles
div的父项。您使用了带有href=“”
的锚定标记,以便在单击时刷新页面,这就是您没有看到任何div被删除的原因。只需添加e.preventDefault()代码>在.remove()调用之前,如下所示:
$(document).on("click", ".product_imgfiles a", function(e) {
e.preventDefault();
$( this ).parent().parent().remove();// remove the div containing the div.product_imgfiles
});
显示您的html结构。是否将元素附加到同一个div或新div?如果不理解DOM结构
@KartikeyaKhosla:hi bro,请检查上面的更新。@RayonDabre:请检查上面的DOM结构,就不可能推荐有效的选择器。刚刚更新。这将删除col-xs-4div@madalinivascu那不就是什么吗wants@madalinivascu这就是OP所寻找的它们都没有成功地删除current.product\u imgfiles的父div
。
$(document).on("click", ".product_imgfiles a", function(e) {
e.preventDefault();
$( this ).parent().parent().remove();// remove the div containing the div.product_imgfiles
});