大神怎么理解这个函数啊。刚开始odd=false,怎么会检测odd=true
javascript吧
全部回复
仅看楼主
level 8
余真帆 楼主
大神怎么理解这个函数啊。刚开始odd=false,怎么会检测odd=true;
function stripeTables(argument) {
if (!document.getElementsByTagName) { return false;}
var tables = document.getElementsByTagName('table');
var odd,rows;
for (var i = 0; i < tables.length; i++) {
odd = false;
rows = tables[i].getElementsByTagName('tr');
for (var j = 0; j < rows.length; j++) {
if (odd == true) {
rows[j].style.backgroundColor = '#ffc';odd = false;}
else{
add=true;}
}
}
}
2016年02月16日 09点02分 1
level 6
所以这个函数有问题……
2016年02月16日 09点02分 2
level 9
odd你写成了add………………
2016年02月16日 09点02分 3
level 9
这是一个给table做一个每隔一行,背景色不同的方法
2016年02月16日 09点02分 4
背景色交叉
2016年02月16日 10点02分
@dontknowly 前辈,这两个for循环为什么不能分开写呢,第二个for必须嵌套在第一个for循环里面吗?
2017年05月30日 04点05分
level 9
function stripeTables() {
if (!document.getElementsByTagName) {//判断浏览器是不是支持getElementsByTagName方法,其实这个是多余的,现在基本所有的浏览器都支持这个方法
return false;
}
var tables = document.getElementsByTagName('table');//获取页面上所有的table
var odd, rows;
for (var i = 0; i < tables.length; i++) {
odd = false;//初始化odd为false
rows = tables[i].getElementsByTagName('tr');//获取这个table的tr
for (var j = 0; j < rows.length; j++) {
if (odd == true) {//如果odd为true,给当前行的背景色设置为#ffc
rows[j].style.backgroundColor = '#ffc';
odd = false;//因为当前行已经设置了背景色了,下一行不设置背景色,那么就要让odd=false
}
else {//因为初始化odd为false,因为要给下一行设置背景色,而给下一行设置背景色的条件为odd=true,所以下面的语句使odd=true;
odd = true;
}
}
}
}
2016年02月16日 09点02分 5
谢谢了哈!
2016年02月17日 00点02分
一看你的注释就懂了,多谢
2017年02月14日 09点02分
大赞 谢谢好心大神
2017年06月28日 07点06分
level 1
楼主 for (var j = 0; j < rows.length; j++) {
if (odd == true) {
rows[j].style.backgroundColor = '#ffc';odd = false;}
else{
add=true;}是设置该行的下一行的odd变量的?
2017年01月02日 10点01分 9
level 14
你真有意思~
2017年01月02日 11点01分 10
level 1
大神讲一下啊, 最近啊看哪个编程艺术,哎好多不懂的,其中就有这个
2017年01月03日 12点01分 11
请问你是有编程艺术那本书还是pdf?能不能分享一下
2017年05月30日 06点05分
@隔壁小张儿😈 书买一本好了,也不贵的,来来回回多看几次,每次都会有收获
2017年05月30日 09点05分
1