用于链接jQuery的跨浏览器解决方案.remove()

时间:2014-05-28 15:23:41

标签: jquery dom chain

使用.remove()或类似方法移除 DOM元素后,我想进一步链接并从我所在的位置到达DOM节点。

示例:

$(SELECTOR).children().first().remove().parents(SELECTOR1).doSomething().andSoOn()

更新

我想要一种适用于所有现代浏览器的方法,以及来自8的IE。

4 个答案:

答案 0 :(得分:2)

删除元素后无法进一步移动,但您可以尝试:

$(SELECTOR).children().first().remove().add($(SELECTOR))
      .parents(SELECTOR1).doSomething().andSoOn()

你可以使用.add()从这些元素的组合和传递给方法的元素中构造一个新的jQuery对象。

这意味着在删除当前选择器的子节点的第一个子节点后,它将再次添加当前选择器,并将在.parents(selector1)中进一步查找选择器,您可以对其中一个父节点选择器进行进一步处理等等。

答案 1 :(得分:1)

如果我明白了,请使用end()

$(SELECTOR).children().first().remove().end().parents(SELECTOR1).doSomething().andSoOn()

答案 2 :(得分:0)

必须链接此方法。只需将它设置为一个变量,这样你就可以在它消失后做任何你想做的事。

var $remove = $(SELECTOR).children().first(),
    $parents = $remove.parents(SELECTOR1);
$remove.remove();
$parents.doSomething().andSoOn();

答案 3 :(得分:0)

如果你的行不起作用,就不可能得到一个不存在的元素的父母(听起来很合乎逻辑......)

var $child = $(SELECTOR).children().first(),
    $parents = $child.parents(SELECTOR1);
$child.remove();
$parents.doSomething().andSoOn()

解决了这个问题。