JavaScript给我的是[object HTMLTableCellElement],而不是单元格的内容



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],我不明白,请帮我解释一下它是如何工作的。

尝试使用innerHTML获取<td>的内部内容,因为在您使用zahlen[0]时,它会返回类似<td>1</td>的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>

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

for ... {
ma = zahlen[i].innerText
<!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元素的内容。此代码运行良好

最新更新