我正在使用codecademy学习javascript,到目前为止我理解了很多工作原理。遗憾的是,他们没有解释如何定位元素颜色或如何定位元素/选择器/ div。
我正在测试我的知识。我正在尝试的是通过使用for循环将每个第二个列表项的颜色设置为红色。
我该怎么做?
var listColor = function(){
var color = style.("red");
var list = getElementsByTagName("li");
for (i = 0; i < list.length; i + 2;) {
list === color
}
];
listColor();
这里是我的http://jsfiddle.net/Lr8nZ/15/
UPdATED JSfiddle但仍无法正常工作http://jsfiddle.net/Lr8nZ/23/
基本上是这样的:红色, 黑色, 红色, 黑
答案 0 :(得分:2)
有些事情是这样的。
var listColor = function(){
var list = document.getElementsByTagName("li");
for (i = 0; i < list.length; i++) {
if(i%2==0)
list[i].style="color:red";
else
list[i].style="color:blue";
}
}
listColor();
答案 1 :(得分:0)
试试这个
<html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
index=1;
$("#temp li").each(function(){
if(index%2==0)
{
$(this).css("color","red")
}
index++;
});
})
</script>
<style>
</style>
</head>
<body>
<ul id='temp'>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
</ul>
</body>
</html>
答案 2 :(得分:0)
您有一些语法错误,但您可以这样做:
var listColor = function() {
var list = document.getElementsByTagName('li');
for (var i = 0, l = list.length; i < l; i++) {
if (i % 2 === 0) {
list[i].style.color = 'red';
}
}
};
// Or...
var listColor = function() {
var list = document.getElementsByTagName('li');
for (var i = 0, l = list.length; i < l; i += 2) {
list[i + 1].style.color = 'red';
}
};
listColor();
当您增加i
时,请确保使用i++
或i += 1
更新其值,否则您将创建无限循环。
i % 2
使用%
模数运算符。它是你将两个数字分开得到的剩余部分。偶数除以2,所以余数为0,我们检查。
您要查找的媒体名为style
。它有一个名为color
的属性,在这种情况下我们将其设置为字符串'red'
。
答案 3 :(得分:0)
尝试使用控制台查看代码中的错误。对于任何js编码器来说,这是一个必不可少的工具。这是更新的小提琴http://jsfiddle.net/Lr8nZ/24/
您注意到的第一件事是style.color('red')
。要使此行甚至是有效的js,必须定义样式对象。否则它会在window
上搜索它,这总会导致混淆。
另一件事是注意我们如何在for循环'第三个条件中实际将新值分配给i
。只提及i+2
将无效,因为i
将保持不变,从而导致无限循环。
再次,启动Web控制台。通常,您可以通过右键单击页面&gt;来实现。检查&gt; Web控制台。