繁体   English   中英

如何从JQuery数组中删除最后一个元素?

[英]How to remove the last element from JQuery array?

我想选择一些DOM元素到克隆对象中,然后我要删除最后一项。 在Chrome控制台中尝试后,我发现克隆的长度没有减少。

Chrome控制台中的示例:

crumbs =  $("span",$("div[style='width:390px;background-color:white;'")[0]).clone();

jQuery.fn.jQuery.init [114]

crumbs.last().remove()

[...]

crumbs.length

114

如您所见,长度仍然是114个元素。 我想念什么?

crumbs.last().remove()从DOM中删除最后一个匹配的元素,但不会从jQuery对象中删除它。

要从jQuery对象中移除元素,请使用slice

var withoutLastOne = crumbs.slice(0, -1);

¹实际上,这将创建一个与少一个元素匹配的新对象,而不用修改现有对象。 您通常不会在意区别,但应该注意这一点。

要从数组中删除最后一个元素,您也可以使用以下代码。

var arr = ["item1", "item2", "item3", "item4"];
arr.pop();

演示版

正如人们所说, .remove()从DOM中删除元素。 除了在最终结果上使用slice ,另一个选择是在克隆元素之前使用jquery的过滤:

crumbs =  $("span",$("div[style='width:390px;background-color:white;'")[0]).not(':last').clone();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM