Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery如何获取最顶层的容器ID?_Jquery - Fatal编程技术网

jQuery如何获取最顶层的容器ID?

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&

在我的页面上,我有许多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>
</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();
});