1

我想选择所有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>
......
......
​

有人有更好的解决方案吗?谢谢。

4

3 回答 3

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';
    }
}

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

于 2012-07-05T21:37:39.213 回答
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。

于 2012-07-05T21:38:18.480 回答
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';
    }
}
于 2012-07-05T21:41:15.077 回答