for(var i=0i<table.lengthi++)//这一层是循环这2个table
{
for(var j=0j<tr.lengthj++) //这个是tr
{
for(var n=0n<td.lengthn++) //这里是循环的tr下面所有的td
{
//这里就可以获取td是否相等了。
}
}
}
这个很简单啊
html :
<table id="table"><tbody>
<tr>
<td>1</td>
<td>2</td>
<td></td>
</tr>
</tbody>
</table>
这个是上面的,需求要第三个td的值要等于前两个td的值相加
下面是俩个版本的js代码
js:
//jquery ://jq的实现很简单
var table = $('#table')//找到这个table
var trs = table.find('tbody tr')//找到这个表格下面的tbody下面的所有的tr
trs.each(function(){
var tr = $(this)//针对每个tr做处理
var tds = tr.find('td')//拿到这个tr下面所有的td
if(tds.length === 3){//只处理下面有3个td的情况
var num_1 = +tds.eq(0).text()//第一个td的值,前面的+号可以将他转换成数字用来计算
var num_2 = +tds.eq(0).text()//第二个td的值
tds.eq(2).text(num_1 + num_2)//第三个td的值等于他前俩个td的值相加
}
})
//原生js的,ie8+支持
var table = document.querySelector('#table')
var trs = tbody.querySelectorAll('tbody > tr')
for(var i=0,tr tr = trs[i] i++){
var tds = tr.querySelectorAll('td')
if(tds.length === 3){
var n1 = +tds[0].innerText
var n2 = +tds[1].innerText
tds[2].innerText = n1 + n2
}
}
<html><head>
<script type="text/javascript">
window.onload=function(){
var mytable=document.getElementById("mytable").getElementsByTagName("td")
for(var i=0i<mytable.lengthi++){
mytable[i].innerHTML="td_"+i
}
}
</script>
</head>
<body>
<table id="mytable">
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
</body>
</html>