在这个例子中,我从切分一个数组开始。这招奏效了。然后,我尝试对一个用.children制作的数组进行切片,但它不起作用。在这样的例子中,我怎样才能得到一半的孩子呢?
var arr = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight"];
console.log(arr.slice(4))
var childs = document.getElementById("container").children;
console.log(childs)
console.log(childs.slice(4));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<p>unaffected</p>
<p>unaffected</p>
<p>unaffected</p>
<p>unaffected</p>
<p>affected</p>
<p>affected</p>
<p>affected</p>
<p>affected</p>
</div>
发布于 2018-06-05 07:41:23
var arr = ["One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight"];
console.log(arr.slice(4))
var childs = Array.from(document.getElementById("container").children);
console.log(childs);
console.log(childs.slice(4));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<p>unaffected</p>
<p>unaffected</p>
<p>unaffected</p>
<p>unaffected</p>
<p>affected</p>
<p>affected</p>
<p>affected</p>
<p>affected</p>
</div>
发布于 2018-06-05 08:38:08
slice
是Array
方法,但可以在Array-like objects上使用
console.log( [].slice.call(container.children, 2) )
console.log( [].slice.bind(container.children)(2) )
console.log( [].slice.apply(container.children, [2]) )
<div id="container">
<p> 1 </p>
<p> 2 </p>
<p> 3 </p>
<p> 4 </p>
</div>
发布于 2018-06-05 07:45:05
您不能直接删除,因为它们是Html元素
改用这个或者按照Md Johirul伊斯拉姆的建议去做
document.getElementById("container").removeChild(childs[4])
https://stackoverflow.com/questions/50690133
复制相似问题