如何根据条件改变table单元格的颜色? 如何根据条件改变table单元格的颜色? 比如: 第一条记录的flag=1;红色; 第三条记录的flag=3;蓝色; 不是隔行变色!!是根据单元格的内容进行判断。 A GB DE C 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建立一个flag与颜色之间的映射var o = { "1":"Red", "3":"Blue"}if(改变条件触发){ //获取flag //设当前单元格为td td.style.backgroundColor = o[flag];} 建立一个flag与颜色之间的映射var o = { "1":"Red", "3":"Blue"}if(改变条件触发){ //获取flag //设当前单元格为td td.style.backgroundColor = o[flag];} 那就把条件加上就可以了啊,if(条件){ document.getElementById("xx").style.color=o[flag];} <TABLE id="tab1"> <TR> <TD flag="1">A</TD> <TD>G</TD> </TR> <TR> <TD>B</TD> <TD>D</TD> </TR> <TR> <TD>E</TD> <TD flag="3">C</TD> </TR> </TABLE> <SCRIPT LANGUAGE="JavaScript"> <!-- var tab = document.getElementById("tab1"); for (var i=0; i<tab.rows.length; i++){ for (var j=0; j<tab.rows[i].cells.length; j++){ var td = tab.rows[i].cells[j]; var fla = td.getAttribute("flag"); switch (fla){ case "1": td.style.color = "red";break; case "3": td.style.color = "blue";break; default: td.style.color = "black"; } } } //--> </SCRIPT> 这个会更简单些 td[flag="1"] { color:red; } div[flag="2"] { color:Blue; } ie6下面这样的能识别?比较复杂的判断都是用js来实现的,用JQuery之类的选择器更方便些 谢谢各位,可能是我没有把问题说清楚。flag 是数据表里的一个字段,从数据库将数据查询出来后,显示在table里。存放 flag 值的 td 是隐藏的。循环显示完数据后,如何根据 flag 的值来改变前面两列的颜色?最好不要用循环的方式来做,因为还有一列是隐藏的值,而且它是备注型的。因为循环到这列时就死到那儿了。这一点大家可能没理解。反正不要用 for 就可以。就是判断某列某行的值,如何判断? 从数据库的表里取出4列数据,只显示两列,将flag, re这两列不显示;前面两列是:编号;姓名;至于用for 循环那儿为什么会“死”,你可以试一下;在re里以格式的方式存入一些数据;然后在以格式的形式显示出来;格式是以空格,回车这些符号。 <td style="display: none;"> <pre><%=sc.getRe()%></pre> </td> </tr> <% } %> </table> </div> <textarea id="re" style="width: 100%; height =20%; font-size: 12pt">...</textarea> 晕~ “前两列”是指……?隐藏就隐藏呗,为啥循环到这列就会死掉?LZ还是把代码贴出来吧,有码有真相!我把有隐藏备注列取消,用for 是可以的。如果有什么办法能解决鼠标在行移动时能够在<text>里显示备注内容的话,单元格根据条件变色的问题用for 也是可以解决的。可不能一移动鼠标就向数据库发送查询语句。如何处理这个问题?我现在是将数据提取过来以隐藏的方式来处理的。当鼠标在行之间移动时,将隐藏的备注内容显示在<text>里。 那只循环行,不循环到单元格里面,应该是没问题的吧? <TABLE id="tab" border="1"> <TR> <TD>编号</TD><TD>姓名</TD><TD>flag</TD><TD>备注</TD> </TR> <TR> <TD>01</TD><TD>张三</TD><TD>1</TD><TD>备注</TD> </TR> <TR> <TD>02</TD><TD>李四</TD><TD>3</TD><TD>备注</TD> </TR> </TABLE> <SCRIPT LANGUAGE="JavaScript"> <!-- var tab = document.getElementById("tab"); for (var i=0; i<tab.rows.length; i++) { var flag = tab.rows[i].cells[2].innerHTML; //flag得是固定的第三列 switch (flag){ case "1": tab.rows[i].style.color = "red";break; case "3": tab.rows[i].style.color = "blue";break; default: tab.rows[i].style.color = "black"; } } //--> </SCRIPT> 怎让让这段代码兼容火狐 js乱码的问题 js问题,懂得指教下,谢谢~~~!!!!! window.event.keycode=0报JS错误,提示拒绝访问如何解决 在用选项卡打开新窗口的浏览器上,如IE7,如何使得window.open是打开的弹出窗口而不是在新的选项卡上打开 JAVACRIPT 怎么实现在一个输入框输入一个文字,在另一个输入框即时输出第一个输入框输入的文字. IBM30G硬盘+30G经典电影 求 页面抽取问题! 在一个Page页去刷新另一个已打开的Page. 请教Onclick事件: 自动评分出错,求高手帮忙看一下 如何实现腾讯网迷你首页效果? JS乱码问题
"1":"Red",
"3":"Blue"
}if(改变条件触发)
{
//获取flag
//设当前单元格为td
td.style.backgroundColor = o[flag];
}
"1":"Red",
"3":"Blue"
}if(改变条件触发)
{
//获取flag
//设当前单元格为td
td.style.backgroundColor = o[flag];
}
if(条件){
document.getElementById("xx").style.color=o[flag];
}
<TABLE id="tab1">
<TR>
<TD flag="1">A</TD>
<TD>G</TD>
</TR>
<TR>
<TD>B</TD>
<TD>D</TD>
</TR>
<TR>
<TD>E</TD>
<TD flag="3">C</TD>
</TR>
</TABLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var tab = document.getElementById("tab1");
for (var i=0; i<tab.rows.length; i++){
for (var j=0; j<tab.rows[i].cells.length; j++){
var td = tab.rows[i].cells[j];
var fla = td.getAttribute("flag");
switch (fla){
case "1": td.style.color = "red";break;
case "3": td.style.color = "blue";break;
default: td.style.color = "black";
}
}
}
//-->
</SCRIPT>
{
color:red;
}
div[flag="2"]
{
color:Blue;
}
flag 是数据表里的一个字段,从数据库将数据查询出来后,显示在table里。
存放 flag 值的 td 是隐藏的。
循环显示完数据后,如何根据 flag 的值来改变前面两列的颜色?
最好不要用循环的方式来做,因为还有一列是隐藏的值,而且它是备注型的。
因为循环到这列时就死到那儿了。这一点大家可能没理解。反正不要用 for 就可以。
就是判断某列某行的值,如何判断?
前面两列是:编号;姓名;至于用for 循环那儿为什么会“死”,你可以试一下;
在re里以格式的方式存入一些数据;然后在以格式的形式显示出来;
格式是以空格,回车这些符号。 <td style="display: none;">
<pre><%=sc.getRe()%></pre>
</td>
</tr>
<%
}
%>
</table> </div> <textarea id="re"
style="width: 100%; height =20%; font-size: 12pt">...
</textarea>
“前两列”是指……?
隐藏就隐藏呗,为啥循环到这列就会死掉?
LZ还是把代码贴出来吧,有码有真相!我把有隐藏备注列取消,用for 是可以的。
如果有什么办法能解决鼠标在行移动时能够在<text>里显示备注内容的话,单元格根据条件变色的问题
用for 也是可以解决的。可不能一移动鼠标就向数据库发送查询语句。如何处理这个问题?
我现在是将数据提取过来以隐藏的方式来处理的。当鼠标在行之间移动时,将隐藏的备注内容显示在<text>里。
那只循环行,不循环到单元格里面,应该是没问题的吧? <TABLE id="tab" border="1">
<TR>
<TD>编号</TD><TD>姓名</TD><TD>flag</TD><TD>备注</TD>
</TR>
<TR>
<TD>01</TD><TD>张三</TD><TD>1</TD><TD>备注</TD>
</TR>
<TR>
<TD>02</TD><TD>李四</TD><TD>3</TD><TD>备注</TD>
</TR>
</TABLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var tab = document.getElementById("tab");
for (var i=0; i<tab.rows.length; i++)
{
var flag = tab.rows[i].cells[2].innerHTML; //flag得是固定的第三列
switch (flag){
case "1": tab.rows[i].style.color = "red";break;
case "3": tab.rows[i].style.color = "blue";break;
default: tab.rows[i].style.color = "black";
}
}
//-->
</SCRIPT>