2012-07-05 86 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