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

本文提供两个JavaScript示例:一是通过事件触发对HTML表格中的特定行进行解析;二是更改表格单元格中文本的颜色,采用了一种间接的方法来实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:用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











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值