用js对table进行解析的demo,及用js修改table中文字颜色

一:用js对table进行解析:

<html>

 <head>
  <title>Table Test</title>
  <meta name="generator" content="Editplus" />
  <meta name="author" content="PJ" />
  <script language="JavaScript">
  <!--
   function Delete()
   {
    var dgTable=document.getElementById('tb').rows;//tb为table的ID,
    var pp=window.event.srcElement; 
    
    for (var i=0; i < dgTable.length; i++) //遍历table的行,
    {
     if(pp==dgTable[i].cells[2].getElementsByTagName("A")[0]) //cells[2]为触发事件的列的索引
     { //判断是否是触发事件的A标签
      alert(dgTable[i].cells[0].innerText); //演示,弹出所在行的第一列的内容    
     } 
    }
   }
  //-->
  </script>
 </head>
 <body>
  <table id="tb" border="1px" width="500px">
  <tr>
   <td width="40%">aaa</td>
   <td width="40%">bbb</td>
   <td width="15%"><a onclick="Delete()" href="#">delete</a></td>
  </tr>
  <tr>
   <td>ccc</td>
   <td>ddd</td>
   <td><a onclick="Delete()" href="#">delete</a></td>
  </tr>
  <tr>
   <td>eee</td>
   <td>fff</td>
   <td><a onclick="Delete()" href="#">delete</a></td>
  </tr>
  </table>
 </body>

</html>

二:js修改table中文字颜色

按理来说,这个实现应该很简单,直接找到文字,然后.style.color="red"即可,但是,试了几次,发现此法不奏效。取到文字之后直接改变的颜色的解决办法没有找到,希望有知道的可以告诉一下。这里我采用的是一个迂回之术,即先把文字拿出来,加上<font color>标签,再给放进去。


function changeColor(id,name){
    var dgTable=document.getElementById('polling').rows;
    var tmpName = "";
    for (var i=1; i < dgTable.length; i++){ //遍历table的行,
    tmpName= dgTable[i].cells[2].innerText;
    tmpName = tmpGroupName.trim();
    if(tmpName == name){  //选中该行
            dgTable[i].cells[2].innerHTML = "<font color=\"#0000FF\">" + tmpName + "</font>";
            document.getElementById("groupLanesFrm").src = path + "/systemConfigAction!showGroupLanes.action?groupId=" + id;
    }else{
    dgTable[i].cells[2].innerHTML = "<u>" + tmpName + "</u>";
    }
    }
    //document.getElementById("groupLanesFrm").src = path + "/systemConfigAction!showGroupLanes.action?groupId=" + id;
    }


PS:


innerText和innerHtml的区别:


innerText可以用来修改开始标签和结束标签之间的内容。
odiv.innerText = "hello";
innerText可以自动将一些关键字符编码(<,>,&),无须担心特殊字符。
innerHtml将标签在浏览器中解读。


对比:
var odiv = doucment.getElementById("div1");
odiv1.innerText = "<h1>HELLO</h1>"


会显示为<h1>HELLO</h1>
当将innerText改为innerHtml时,将会显示<H1>格式的HELLO











posted on 2012-06-04 10:52  java课程设计例子  阅读(331)  评论(0编辑  收藏  举报