2012-07-05 106 views
1

我想選擇所有元素與id命名爲singleFeed1 singleFeed10;簡單的Javascript問題

for (var i=0;i<10;i++){ 
    var post=document.getElementById('singleFeed'+i); 
    post.style.color='blue'; 

    if (i==4){ 
     post.style.color='red'; 
    } 
} 

它似乎沒有工作。

我的HTML

<li id=singleFeed1>aaaaaaaaaaaa</li> 
<li id=singleFeed2>vvvvvvvvvvvv</li> 
<li id=singleFeed3>dddddddddddd</li> 
<li id=singleFeed4>aqqqqqqqqq</li> 
<li id=singleFeed5>aaaaaddddaa</li> 
...... 
...... 
​ 

任何人有更好的解決方案?謝謝。

+0

首先要注意的事情是,你有一個嚴重的語法錯誤,其中'如果( i = 4)'實際上應該是'if(i === 4)' – elclanrs 2012-07-05 21:38:12

+0

@elclanrs哎呀,你抓到我了。 – Rouge 2012-07-05 21:39:55

回答

3

下一次檢查控制檯(即螢火蟲),你會發現你自己的這些類型的錯誤。

+1

從1到10(<=)開始我,你應該沒問題。 – Styxxy 2012-07-05 21:41:05

2
for (var i=1;i<=10;i++){ 
    var post=document.getElementById('singleFeed'+i); 
    post.style.color='blue'; 

    if (i===4){ 
     post.style.color='red'; 
    } 
} 

在您的原始代碼中,您嘗試獲得0-9而不是1-10。

1

在我看來,@Chris有正確的答案。不過,我會做這樣的事情:

HTML

<li id=singleFeed1 class="singleFeed">aaaaaaaaaaaa</li> 
<li id=singleFeed2 class="singleFeed">vvvvvvvvvvvv</li> 
<li id=singleFeed3 class="singleFeed">dddddddddddd</li> 
<li id=singleFeed4 class="singleFeed">aqqqqqqqqq</li> 
<li id=singleFeed5 class="singleFeed">aaaaaddddaa</li> 

的Javascript

var posts=document.getElementsByClassName('singleFeed'); 
for(var i=0;i<posts.length;i++){ 
    posts[i].style.color='blue'; 
    if(i==4){ 
     posts[i].style.color='red'; 
    } 
} 
+0

我喜歡。 +1 – Rouge 2012-07-05 21:53:23