2013-06-28 74 views
-1

的数字标识的一部分,首先我说的数字ID,我的大部分股利class="line"删除的div

var adder = document.getElementsByClassName("line");    
for(var i = 0 ;i<adder.length;i++){   
    adder[i].id=i; 
} 

如何去除其中的div id为大于,为的exaple,10?

当在JS中使用参数作为id时,我陷入了麻烦。看起来像这样写是非法的document.getElementsById(i);

PS:是否适合将id设置为纯阿拉伯数字?

+0

*“看起来像这样写是非法的'document.getElementsByClassName(i)'”*您将** ID **设置为'i',而不是** class **。编写这样的代码并不违法,但如果没有* class *'i'的元素,它将返回一个空列表。至于你的问题,你再次按类选择元素('.getElementsByClassName(“line”)',迭代元素(就像你已经做的那样)并且将元素的ID与'10'进行比较。 –

+0

@Felix Kling对不起,我复制了代码和忘了修改... – Darklizard

+0

document.getElementById(i.toString()) – hazzik

回答

0

我猜你正在尝试做的事是不是在数字10之上添加ID?如果是这样的话,那么,为什么不只是做:

var adder = document.getElementsByClassName("line");    
for(var i = 0 ;i<10;i++){   
    adder[i].id=i; 
} 

如果你想这样做,因为某种原因一个单独的操作,则:

var adder = document.getElementsByClassName("line");    
for(var elem in addr){   
    if(parseInt(addr[elem].Id) > 10){ 
     element = document.getElementById(addr[elem].Id); 
     element.parentNode.removeChild(element); 
    } 
} 
+0

谢谢。相当清楚 – Darklizard

+0

@hazzik不幸的是,这不是每个工作循环在javascript中的工作方式不同。 –

+0

@hazzik好吧,我亲爱的朋友,这里有一个提示你的建议(只有elem而不是addr [elem]) http://jsfiddle.net/VC95x/2/ ,这里是一个对我的回答: http://jsfiddle.net/KzdJN/3/ 您可以看到自己哪一部作品。我建议你再读一遍。第一部分代码是建议有一种方法,不要有10以上的ID。代码的第二部分用于添加10以上的ID,并且现在要删除它们。 PS:我知道'Id'中的大写字母。我在移动设备上打字,我认为这是OP很容易弄清楚的 –