大家帮我看一下这个函数哪里有问题

直来直往 2009-06-03 09:35:39
function change(tr){
var table=document.getElementById("mytable");
for (i=0;i<table.rows.length ;i++ )
{
table.rows[i].style.background="white";//底色
if( table.rows[i].cells[0].innerHTML!="")
{
tr.style.background="lightblue";//点击后的颜色
}
}
}
我想要实现的功能是,我所选中的行的第一个单元格不为空时,变为lightblue。但是似乎不行,我选中为空的一行,它还是会变色,不知道是什么原因?
...全文
49 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
直来直往 2009-06-03
  • 打赏
  • 举报
回复
问题是不是逻辑吧,应该是在判断是否为空的那一块。
现在问题已经解决了,还是要谢谢你~
ouyang3857116 2009-06-03
  • 打赏
  • 举报
回复
逻辑有问题
function change(tr){
var table=document.getElementById("mytable");
for (i=0;i <table.rows.length ;i++ )
{
table.rows[i].style.background="white";//底色
}
if( tr.cells[0].innerHTML!="")
{
tr.style.background="lightblue";//点击后的颜色
}
}
直来直往 2009-06-03
  • 打赏
  • 举报
回复
搞定了!
我把table.rows[i].cells[0].innerHTML的内容打印出来,发现竟然是 “ ”,然后我直接判断不等于它就可以了。谢谢大家~
sd5816690 2009-06-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ada313 的回复:]
为了固定表格的大小,我最开始是向表格里全部填充了 。
那要怎么判断是不是为空呢?
[/Quote]
将空字符和   替换为空字符串,然后判断是否为空

...
var reg = /(\s)|( )/gi;// 匹配空字符和  
if(table.rows[i].cells[0].innerHTML.replace(reg, "") != ""){
...
}
...
直来直往 2009-06-03
  • 打赏
  • 举报
回复
3楼的两种方法都不行,第一个是一点击就全部都变为蓝色了,第二是,点一次这一行变为蓝色,再点一次第一行不会变成白色
直来直往 2009-06-03
  • 打赏
  • 举报
回复
为了固定表格的大小,我最开始是向表格里全部填充了 。
那要怎么判断是不是为空呢?
郭大侠_ 2009-06-03
  • 打赏
  • 举报
回复
function change(tr){
var table=document.getElementById("mytable");
for (i=0;i <table.rows.length ;i++ )
{
table.rows[i].style.background="white";//底色
if( table.rows[i].cells[0].innerHTML!="")
{
table.rows[i].style.background="lightblue";//点击后的颜色
}
}
}

或者
function change(tr)
{
if( tr.cells[0].innerHTML!="")
tr.style.background="lightblue";//点击后的颜色
else
tr.style.background="white";//底色
}
niuxinlong 2009-06-03
  • 打赏
  • 举报
回复
table.rows[i].cells[0].innerHTML lz应该先确定一下这个值是什么,可能不是控字符串呢
shenzhenNBA 2009-06-03
  • 打赏
  • 举报
回复
JS程序能运行,说明程序没有问题,但是空行还是变色,那说明那个单元格内容不为空,注意当看到为空格时其HTML内容是 而不是真正的空内容, innerHTML得到的 估计是看不见的   而不是空的内容,

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧