JavaScript给了我[对象HTMLTableCellElement]而不是单元格的内容

时间:2018-11-24 16:37:25

标签: javascript dom html-table

HTML:

 <table>
 <tr>
     <td>1</td>
     <td>2</td>
     <td>3</td>
     <td>4</td>
     <td>5</td>
     </tr>
 </table>

脚本:

  var zahlen = document.getElementsByTagName("td");
  var ma = zahlen[0];

for(var i = 1; i <= zahlen.length; i++)
{
   if(ma > zahlen[i])
    ma = zahlen[i];   
}
document.writeln(ma);

我希望“ ma”给我最多的标签,写在屏幕上,必须为5,但是它改为:[object HTMLTableCellElement],我不明白,请帮我解释一下它是如何工作的。

3 个答案:

答案 0 :(得分:0)

HTMLTableCellElementzalen NodeList具有实例的对象的类型。要获取HTMLTableCellElement的内容,可以使用其innerText属性:

for ... {
  ma = zahlen[i].innerText

答案 1 :(得分:0)

以这种方式尝试使用innerHTML来获取<td>的内部内容,因为您的情况是在使用<td>1</td>时会返回类似zahlen[0]的html元素。

N.B :还要像zah = zahlen[i].innerHTML一样在循环内缓存变量,并在条件中使用zah。希望这会有所帮助:)

var zahlen = document.getElementsByTagName("td");
var ma = zahlen[0].innerHTML;

for (var i = 0; i < zahlen.length; i++) {
      zah = zahlen[i].innerHTML;
      if (ma < zah) ma = zah;    
}
document.writeln(ma);
<table>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
  </tr>
</table>

答案 2 :(得分:0)

<!doctype html>
<html>
<body>
<table>
 <tr id="nesto">
     <td>1</td>
     <td>2</td>
     <td>3</td>
     <td>4</td>
     <td>5</td>
     </tr>
 </table>
</body>
<script>
  var zahlen = document.getElementsByTagName("td");
  var ma = zahlen[0].innerHTML;
for(var i = 1; i <= zahlen.length-1; i++)
{
  if(ma < zahlen[i].innerHTML)
       ma = zahlen[i].innerHTML;  
}
document.writeln(ma);
</script>
</html>

otput是一个html代码,您必须使用属性 innerHTML 来获取td元素的内容。这段代码可以正常工作