菜鸟求教:
有个场景,需要对已经取出的NodeList进行重新排序,把node1插入到Node2后面。代码如下:
var cols = document.querySelectorAll("ul>li");
var target = cols[0];
[].splice.call(cols,[0, 1]);
[].splice.call(cols,[3, 0, target]);
抛错:Uncaught TypeError: Cannot set property length of #<NodeList> which has only a getter
请问各位大神,splice方法哪里用错了呢?
1.函数对象的call方法第2个以后的参数不是一个数组,需要把多个参数依次传入
apply方法第2个参数是一个数组
2.NodeList它的长度不能被修改,那么也就是意味着通过splice方法不会有作用(splice方法会修改原始对象,并修改其长度属性)
规范有云: