1
coolicer 2014-06-26 08:51:27 +08:00
感觉好麻烦的样子。直接取所有tr,然后%2 不行吗?
|
3
sneezry 2014-06-26 08:54:40 +08:00
第二次循环结束后odd变成false了,楼主最后一句可能口误了。就是这样的过程,楼主没理解错。
题外话,可以用:nth-child(odd)伪类来用css实现这种效果。 |
5
83f420984 OP @sneezry 这代代码我想了好长时间,始终想不通,就在我把这个代码用中文写出来的时候,就明白了,然后又不知道理解是不是对,谢谢
|
6
wizaliu 2014-06-26 10:00:01 +08:00
用这么麻烦吗???css不能实现?
|
7
Mutoo 2014-06-26 10:04:28 +08:00
odd变量是一个分支开关
重复 { 当(odd为真) { //做点什么 将odd置为假 } 不然 { //什么也不做 将odd置为真 } } |
8
83f420984 OP @Mutoo 老兄这么解释的很直观,最开始的直观理解代码的意思和老兄回复的一样,当初我不明白是,这段代码在去运行时,我不知道它是如何在工作,比如说,它是怎么在“tr”标签上完成一些事情。
|
10
Mutoo 2014-06-26 11:22:27 +08:00 1
@83f420984
rows = document.getElementsByTagName("tr"); // 把所有 tr 存到 rows 数组中 addClass(rows[j], "odd"); // 把 "odd" 添加到第 j 个 tr 的 class="" 里面 具体的修改 DOM 的操作是由下面的 addClass 函数完成的。 相关资料 http://www.w3school.com.cn/jsref/prop_classname.asp |
11
nilennoct 2014-06-26 13:21:32 +08:00 1
for (var j = 1; j < rows.length; j += 2) {
addClass(rows[j], 'odd'); } |
12
lemonlwz 2014-06-26 13:48:33 +08:00 1
0, 1, 0, 1, 0, 1 ^M
1, 0, 1, 0, 1, 0 ^M 0, 1, 0, 1, 0, 1 ^M ... 练习题在于举一反三, 你有空可以尝试一下这个, ^M 是换行. |