Javascript 如何从JQuery数组中删除最后一个元素?
我想在克隆对象中选择一些DOM元素,然后删除最后一项。在Chrome控制台中试用后,我发现克隆的长度并没有减少 Chrome控制台的示例:Javascript 如何从JQuery数组中删除最后一个元素?,javascript,jquery,arrays,element,Javascript,Jquery,Arrays,Element,我想在克隆对象中选择一些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 = $("span",$("div[style='width:390px;background-color:white;'")[0]).clone();
jQuery.fn.jQuery.init[114]
crumbs.last().remove()
[…]
crumbs.length
114
如您所见,长度仍然是114个元素。我缺少什么?crump.last().remove()
从DOM中删除最后一个匹配的元素,而不是从jQuery对象中删除它
要从jQuery对象“”中删除元素,请使用:
实际上,这将创建一个新对象,该对象与少一个元素相匹配,而不是修改现有对象。您通常不关心区别,但应该注意区别。crumps.last().remove()
从DOM中删除最后一个匹配的元素,而不是从jQuery对象中删除它
要从jQuery对象“”中删除元素,请使用:
实际上,这将创建一个新对象,该对象与少一个元素匹配,而不是修改现有的对象。您通常不关心其区别,但应该注意它。正如人们所说,
.remove()
从DOM中删除元素。除了对最终结果使用切片
之外,另一个选项是在克隆元素之前使用jquery的筛选:
crumbs = $("span",$("div[style='width:390px;background-color:white;'")[0]).not(':last').clone();
正如人们所说,
.remove()
从DOM中删除元素。除了对最终结果使用切片
之外,还有一种选择是在克隆元素之前使用jquery的过滤:
crumbs = $("span",$("div[style='width:390px;background-color:white;'")[0]).not(':last').clone();
要从数组中删除最后一个元素,也可以使用下面的代码
var arr = ["item1", "item2", "item3", "item4"];
arr.pop();
要从数组中删除最后一个元素,也可以使用下面的代码
var arr = ["item1", "item2", "item3", "item4"];
arr.pop();
在这种情况下,这不是一个好主意,因为jQuery需要实际测试每个元素是否与
:last
过滤器匹配。这不是必要的,因为我们事先知道哪些元素匹配,哪些不匹配。请记住。在这种情况下,这不是一个好主意,因为jQuery需要实际测试每个元素是否匹配t匹配:last
过滤器。这不是必需的,因为在这里我们事先知道哪些元素匹配,哪些不匹配。请记住。这不起作用,因为我操作的是JQuery对象,它不是真正的JavaScript数组。No pop()这不起作用,因为我操作的是JQuery对象,它不是真正的JavaScript数组。没有pop()方法。