在WEB页面中常用到表格<table></table>来展示数据,但是有时候需要检验某些个<td>中展示的数据是否是我们想要的,如果不是,则要给出相应的提示,提示用户来修正错误。
我开发的是JSP页面,为解决这个问题,起初我用的是Java脚本:
方法一:
<% for(int i=0;i<dn;i++){ %> <%if(dlist.get(i).getGs()==0) {if(x==0){count=(Integer)session.getAttribute("count");x=1;%> <font style="font-weight:bolder;color:#ff0060;">注意:存在问题的记录有<%=count %>条!</font><%} %><tr style="background-color:red"> <%} %> <tr> |
方法二: 使用JS来解决这个问题是很方便的,JS使用DOM来处理html内容:
function GetInfoFromTable(tableid) { var tableInfo = ""; var tableObj = document.getElementById(tableid); for (var i = 0; i < tableObj.rows.length; i++) { //遍历Table的所有Row for (var j = 0; j < tableObj.rows[i].cells.length; j++) { //遍历Row中的每一列 tableInfo += tableObj.rows[i].cells[j].innerText; //获取Table中单元格的内容 tableInfo += " "; } tableInfo += "\n"; } return tableInfo; } |
方法三: 最后结合jQuery来实现的,实现代码看起来非常简介美观:(推荐)
<script type="text/javascript" src="../js/colResizable-1.3.min.js"></script> <script type="text/javascript"> $(function(){ $("#tabledata tr").each(function(){ var gsvalue=$("#gsvalue").text(); var sss=$(this).children().eq(25); var s1=$(this).children().eq(15); var s2=$(this).children().eq(16); //alert(sss.text()); if(sss.text()=="0.0"){ $(this).children().eq(12).children().css("background-color","red"); $(this).children().eq(15).children().css("background-color","red"); $("#errTip").empty(); $("#errTip").append('<font style="font-weight:bolder;color:#ff0060;">注意:存在有问题的记录,请认真核查!</font>'); } }); }); </script> <div id="errTip"> </div> <table id="tabledata" width="100%" border="2" cellpadding="0" cellspacing="0" > |
这句是使用jQuery方法来遍历table表格,$(this).children().eq(12)这个是用来获取表格中第十二个<td>对象的,如果这个<td>还有子元素,可以用children()方法来获得,还有可以使用.css("","")方法来动态改变表格中元素的样式。
$("#errTip").empty();这个句子是用来清空对应<div id="errTip">中的内容的。然后使用 $("#errTip").append('<font style="font-weight:bolder;color:#ff0060;">注意:存在有问题的记录,请认真核查!</font>') ; 来动态给此div添加新的显示内容。