猿问

html元素集合与数组的问题

比如用children或getElementsByTagName之类的,获得了好几个html元素组成的集合。此时我想删掉其中的第3个,代码如下:

var p = elm.parentNode.children;

此时,这个p的类型是object,有点类似于数组但又不是,因为我不能用p.splice(2,1)这样的方法来删掉里面的元素。

我想请问一下,如何实现我删除其中某个元素的需求呢?难道必须要把此对象转换成数组?

慕姐4208626
浏览 604回答 5
5回答

慕桂英3389331

简单点,将获取到的类数组的对象转换成数组即可用数组方法操作,或者调用apply方法试试: 给出第一种解法:   /**第一种方法**/var a = document.getElementsByTagName("div");var c = (new Array()).splice.apply(a,[0]);c.splice(0,3);alert(c.length)

开满天机

function removeElement(node){    node.parentNode.removeChild(node);}例子: HTML <select id="foo"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> Javascript // remove child "option" element with a "value" attribute equal to "2" $("#foo > option[value='2']").remove(); // remove all child "option" elements $("#foo > option").remove();

PIPIONE

这样好像把页面上的这个node也给移出了吧?我只是想得到一个html集合,然后去掉里面的指定项,然后对剩下的进行某些操作。。

慕沐林林

@十年灯: 直接用jquery筛选器排除掉那一项,在操作就是的了。不要想太复杂了。

大话西游666

@荒野的呼唤: 老兄,有纯JS的方法么
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答