简单的Javascript问题

时间:2012-07-05 21:34:20

标签: javascript

我想选择id名为singleFeed1的所有元素到singleFeed10;

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>
......
......
​

任何人都有更好的解决方案?感谢。

3 个答案:

答案 0 :(得分:3)

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

    if (i==4){ // you need two equal signs
        post.style.color='red';
    }
}

下次检查控制台(即萤火虫),你会发现这些错误。

答案 1 :(得分: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。

答案 2 :(得分: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';
    }
}