| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1189 人关注过本帖
标题:数组的删除
只看楼主 加入收藏
lihuan521
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-5-21
结帖率:100%
收藏
已结贴  问题点数:2 回复次数:7 
数组的删除
var t=document.getElementsByTagName("p")
var c = [];
for (var i = 0;i<t.length;i++){
    c.push(t[i].getAttribute('level'));
    if(c[i]==0){
      t[i].parentNode.removeChild(t[i]);
    }
}
实现删除 c 数组中等于0
然后相对删除 t  数组中的P
比如t[<p level="1"></p>,p level="2"></p>,p level="0"></p>,p level="0"></p>,]
c获取的是c[1,2,0,0]
当c[i]=0删除了t中的P
t[i].parentNode.removeChild(t[i]);这个怎么解决
2015-05-22 11:37
lihuan521
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-5-21
收藏
得分:0 
怎么批量删除掉
运行后显示的一个一个删除 偶尔2个删除 哪里不对吗
2015-05-22 11:40
lihuan521
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-5-21
收藏
得分:0 
对了如果删除后数组元素的位置得留着得怎么弄
2015-05-22 11:54
lihuan521
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2015-5-21
收藏
得分:0 
就是删除后数组长度不变 0的位置变成undefined
2015-05-22 11:57
jsRank
Rank: 5Rank: 5
等 级:职业侠客
威 望:6
帖 子:69
专家分:303
注 册:2015-5-11
收藏
得分:2 
当执行t[i].parentNode.removeChild(t[i]);后,t的长度会发生变化,t.length会有4变成3,所以要时刻控制索引值,应该这样写:
         var t=document.getElementsByTagName("p");
         var c = [];
         for (var i = 0;i<t.length;i++){
             c.push(t[i].getAttribute('level'));
         }
         
         var cnt = 0;
         for (var i = 0;i<c.length; i++)
         {
            if(c[i]==0){
               c[i] = undefined;
               var index = i-cnt++;
               t[index].parentNode.removeChild(t[index]);
            }
         }

[ 本帖最后由 jsRank 于 2015-5-22 12:42 编辑 ]

追求卓越,成功就会跟着你走!
2015-05-22 12:36
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
楼上正解,呵 呵,楼主你刚push完就remove会有问题的

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-05-23 14:12
zhzoli
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2005-11-22
收藏
得分:0 
我也跟着学点。谢谢!
2015-06-07 10:28
快速回复:数组的删除
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015166 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved