如何在Javascript中使用三元运算符来确定某些内容是偶数还是奇数?
所以我需要弄清楚如何将“p”标记存储到数组中,然后使用三元运算符确定“p”标记是偶数还是奇数如何在Javascript中使用三元运算符来确定某些内容是偶数还是奇数?,javascript,arrays,ternary,Javascript,Arrays,Ternary,所以我需要弄清楚如何将“p”标记存储到数组中,然后使用三元运算符确定“p”标记是偶数还是奇数 function paragraph() { list = new Array(); var list = document.getElementsByTagName("p"); var even = list[0]; var odd = list[1]; even.style.backgroundColor = "#CCFFFF"; odd.style.b
function paragraph()
{
list = new Array();
var list = document.getElementsByTagName("p");
var even = list[0];
var odd = list[1];
even.style.backgroundColor = "#CCFFFF";
odd.style.backgroundColor = "#CCFFCC";
} //end of paragraph()
function paragraph()
{
list = new Array();
var list = document.getElementsByTagName("p");
var even = list[0];
var odd = list[1];
even.style.backgroundColor = "#CCFFFF";
odd.style.backgroundColor = "#CCFFCC";
} //end of paragraph()
我似乎真的很难处理数组和循环。因此,任何帮助都将不胜感激。
提前谢谢
list=newarray()
因为document.getElementsByTagName(“p”)
返回可以循环的所有p
标记的集合
for
循环枚举列表
,然后使用(i%2>0)
条件检查索引是奇数还是偶数,并应用三元运算符,如下所示
var list = document.getElementsByTagName("p");
for (i = 0; i < list.length; i++) {
list[i].style.backgroundColor = (i % 2 > 0) ? "#CCFFCC" : "#CCFFFF";
}
var list=document.getElementsByTagName(“p”);
对于(i=0;i0)?“#CCFFCC”:“#CCFFFF”;
}
请注意,数组索引从0开始,因此当i
等于0时,它是奇数,因为list[0]
是第一个元素,当i
等于1时,它是偶数,因为list[1]
是第二个元素,依此类推
工作演示:三元运算符只是一种方便,可以避免编写这样的代码:
var somevar = 0;
if (some_condition) {
somevar= "somevalue";
}
else
if (another_condition) {
somevar = "anothervalue"
}
它不能解决眼前的问题;它只需提供一行代码的语法,就可以避免键入多行代码
如果您要利用级联样式表,这将简化javascript,如果您要使用它更改每个“p”标记的类名,如下所示:
<style>
p { background:#FFF; }
p.even {font: 150% Arial,Helvetica;background: #FCC; color:#f00}
p.odd {font: 150% Arial,Helvetica;background: #CCF;color:#369}
</style>
var ptags = document.getElementsByTagName("p");
for (i = 0; i < ptags.length; i++) {
ptags[i].className = ( i % 2 )? 'odd' : 'even';
}
{背景:#FFF;}
p、 偶数{字体:150%Arial,Helvetica;背景:#FCC;颜色:#f00}
p、 奇数{字体:150%Arial,Helvetica;背景:#CCF;颜色:#369}
var ptags=document.getElementsByTagName(“p”);
对于(i=0;i
看
这里的主要运算符是有时称为的模或模。如果该操作的结果为非零,则背景样式将为“奇数”类,否则该类将更改为“偶数”
其优点是,无论何时您可能希望更改这对颜色,都不需要修改javascript——只需要修改偶数和奇数“p”标记类的背景值。此外,如果您希望使用交替字体颜色,则无需修改JavaScript;您只需在“p”标记的偶数和奇数类中指定它们,就像我在示例代码中所做的那样
在这种情况下,三值操作符使用的结果只能是零或一,这有助于渲染交替颜色。如果我们想要有三种交替的背景样式,那么数学将是“i%3”,在这种情况下,您需要使用switch语句或“If(condition)else If(condition)else…”控制结构,而不是使用三元运算符,因为有三种可能的结果,零,一个和两个以及三元一次只处理两个,虽然可以使用嵌套的三元,但这可能会使代码过于复杂,使其不那么清晰