jQuery如何获取最顶层的容器ID?
在我的页面上,我有许多html控件如下所示:jQuery如何获取最顶层的容器ID?,jquery,Jquery,在我的页面上,我有许多html控件如下所示: <span id="pic1" class="container"> <span class="inner"> <span class="img"></span> <span class="strip"></span> <span class="remove_the_main_container"></span&
<span id="pic1" class="container">
<span class="inner">
<span class="img"></span>
<span class="strip"></span>
<span class="remove_the_main_container"></span>
</span>
</span>
我想做的就是,当用户用
class=“remove\u主容器”
单击span
时,用class=“remove\u主容器”
删除span
。问题是-如何获取放置在单击span(class=“remove\u The\u The\u main\u container”
)的最顶部容器的ID?如果最顶部的容器始终有一类container
,则可以执行类似以下操作来获取ID:
var id = $(".remove_the_main_container").parents(".container").attr("id");
但是移除容器不需要id。你可以这样做:
$(".remove_the_main_container").bind("click", function(eventObj) {
$(this).parents(".container").remove();
});
此代码与
删除\u主\u容器的哪个实例相关,因此它不需要ID或任何类似的属性
jQuery('.remove_the_main_container').bind('click', function (e) {
jQuery(e.currentTarget).parents('.container').remove();
});
您不需要ID来删除它
$('.remove_the_main_container').click(function() {
$(this).parents('.container').remove();
});
您可以使用来获取与所给选择器匹配的第一个祖先
$('.remove_the_main_container').click(function() {
$(this).closest('.container').remove();
});
这样,如果有其他祖先使用容器
类,它们就不会受到影响
或者,如果您的意思是要删除该span
,但不删除其内容,则转到.internal
元素,并使用
值得注意的是,1.3中引入了.closest()。如果由于某种原因(比如库存Drupal安装)而无法使用1.2.x,那么.parents('some_selector').eq(0)是等效的。假设我有4个跨距:[1][2][3][4]。如果我删除第二个,我想设置向左滑动第三个和第四个跨度的动画。“怎么做?”托尼-不知道你到底是什么意思。我想说,试试使用jQuery,如果你在某些问题上遇到了困难,可以发布一个新问题o)
$('.remove_the_main_container').click(function() {
$(this).closest('.inner').unwrap();
});