2013-06-28 100 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很容易弄清楚的 –