3

我只需要在我的网站中使用 javascript。但我只知道 javascript 的基础知识。在 jQuery 中选择元素非常容易,因为它类似于 CSS 选择器。但我以前从未在 javascript 中做过。

这是我需要转换成 javascript 的 jQuery 代码。

$('ul#goto li:eq(1) a').css("color","white");
$('ul#goto li:not(:eq(1)) a').css("color","grey");

我不知道如何实现这一点。谁能帮我解决这个问题?

HTML 代码:

<ul id="goto">
<li><a href="javascript:sliders[0].goTo(0)">.</a></li>
<li><a href="javascript:sliders[0].goTo(1)">.</a></li>
<li><a href="javascript:sliders[0].goTo(2)">.</a></li>
<li><a href="javascript:sliders[0].goTo(3)">.</a></li>
<li><a href="javascript:sliders[0].goTo(4)">.</a></li>
</ul>

if(condition)
$('ul#goto li:eq(1) a').css("color","white");
$('ul#goto li:not(:eq(1)) a').css("color","grey");
else
$('ul#goto li:eq(2) a').css("color","white");
$('ul#goto li:not(:eq(2)) a').css("color","grey");
4

3 回答 3

2
$('ul#goto li:eq(1) a').css("color","white");
$('ul#goto li:not(:eq(1)) a').css("color","grey");

可以替换为:

document.getElementById('goto').children[1].children[0].style.color = "white";

var lis = document.getElementById('goto').children;
for( var i=0; i<lis.length; i++) {
    if (i==1) continue;
    lis[i].children[0].style.color = "grey";
}
于 2012-11-19T05:46:22.460 回答
2

试试这个,

var li = document.getElementById('goto').getElementsByTagName('li');
for(var i=0; i<li.length; i++){
    if(i==1){
        li[i].children[0].style.color = 'white';
    }else{
        li[i].children[0].style.color = 'grey';
    }
}

更新:

在 IE 中,上面的代码对我有用。我不确定为什么它不适合你。

无论如何尝试下面的代码,

var li = document.getElementById('goto').getElementsByTagName('li');
for(var i=0; i<li.length; i++){
    if(i==1){
        li[i].getElementsByTagName('a')[0].style.color = 'white';
    }else{
        li[i].getElementsByTagName('a')[0].style.color = 'grey';
    }
}

​演示:http: //jsfiddle.net/CsLXk/3/

于 2012-11-19T05:56:49.627 回答
0

你试一试

 document.getElementById('mydiv').style.color = 'white';
于 2012-11-19T05:39:37.633 回答