首页 新闻 会员 周边 捐助

html元素集合与数组的问题

0
悬赏园豆:20 [已解决问题] 解决于 2012-07-20 16:18

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

var p = elm.parentNode.children;

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

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

十年灯的主页 十年灯 | 菜鸟二级 | 园豆:356
提问于:2012-07-04 14:00
< >
分享
最佳答案
0

简单点,将获取到的类数组的对象转换成数组即可用数组方法操作,或者调用apply方法试试:

给出第一种解法:

 

/**第一种方法**/
var a = document.getElementsByTagName("div");
var c = (new Array()).splice.apply(a,[0]);
c.splice(0,3);
alert(c.length)
收获园豆:20
Nanedo | 菜鸟二级 |园豆:224 | 2012-07-17 22:01

本来我之后发现了这个方法,结果你已经回答了。。。谢谢帮助

十年灯 | 园豆:356 (菜鸟二级) | 2012-07-20 16:19
其他回答(1)
0
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();
悟行 | 园豆:12559 (专家六级) | 2012-07-04 14:15

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

支持(0) 反对(0) 十年灯 | 园豆:356 (菜鸟二级) | 2012-07-04 14:18

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

支持(0) 反对(0) 悟行 | 园豆:12559 (专家六级) | 2012-07-04 14:19

@荒野的呼唤: 老兄,有纯JS的方法么

支持(0) 反对(0) 十年灯 | 园豆:356 (菜鸟二级) | 2012-07-04 15:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册