如何在数组末尾添加对象的副本
How to add a copy of an Object at the end of an Array?
如何在数组末尾添加第一个标签的副本,因为据我所知,push() 在这种情况下无法使用......
<p>A</p>
<p>B</p>
<p>C</p>
<script>
var pArray=document.getElementsByTagName("p");
//now I would like to add pArray[0]
</script>
pArray
实际上不是一个数组。这是一个NodeList
.要将其转换为数组,只需调用 Array.prototype.slice
:
var pArray = Array.prototype.slice.call(document.getElementsByTagName("p"));
jsFiddle Demo
推送不可用,因为 pArray 实际上是一个 NodeListMDN。但是,您可以在不使用数组方法推送的情况下添加到它,只需分配给最后一个索引即可。cloneNodeMDN将为您复制第一个元素。
pArray[pArray.length] = pArray[0].cloneNode();
如果你想实际将第一个<p>
标签的副本添加到 DOM(而不仅仅是修改数组),你需要克隆节点并将其插入到最后一个节点之后:
var els = document.getElementsByTagName('p');
var copy = els[0].cloneNode(true);
var last = els[els.length - 1];
last.parentNode.insertBefore(copy, last.nextSibling);
相关文章:
- FabricJs-限制主对象内添加对象的移动区域
- 向Angular作用域对象添加对象数组——TypeError
- Javascript使用+添加对象
- 动态添加对象的jQuery事件处理程序
- 添加JQuery UI在Meteor中添加对象后可调整大小
- 在我的上下文中添加对象的动态方法
- 如何检测是否已使用 angular.forEach AngularJS 添加对象
- 在对象coffeescript中添加对象数组
- 使用Jquery在单击“”时显示表单;添加对象”;按钮
- 我可以向数组添加对象键吗
- 向扩展数组的JS集合添加对象(继承?)
- 尝试通过从自动完成推送添加对象时缺少 $$Hashkey
- 添加对象值 Javascript
- 在上传问题时添加对象
- 如何使用 javascript 的变量名称在数组中添加对象属性
- 在 JavaScript/TypeScript 中动态地“直接”添加对象属性到“this”
- 如何仅当对象不存在时才使用javascript添加对象
- 如何在数组末尾添加对象的副本
- rails在javascript url中添加对象
- ThreeJS-按不同顺序添加对象会影响alpha/显示