怎么让js遍历循环俩个table 下面的 tr td 值相等

JavaScript024

怎么让js遍历循环俩个table 下面的 tr td 值相等,第1张

您好:这就是三个for循环嵌套而已。

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>