JS更改内部html表格单元格

Posted

技术标签:

【中文标题】JS更改内部html表格单元格【英文标题】:JS to change inner html table cell 【发布时间】:2015-12-05 19:03:48 【问题描述】:

我是自学 php,几乎没有 js 经验,所以这可能非常简单,但我制作了一个 js 函数来更改表格单元格的内部 html,并在要调用的 select 元素上添加了一个 onchange 事件侦听器功能。但是,当我更改所选值时没有任何反应,而且我不知道为什么,考虑到它应该如此简单。请帮忙。

我想更改的td:

        echo '<tr><td id="pastEvents">';
        for($i=0;$i<=3;$i++)
            echo '<table class="invisible"><tr><td><img src="/'.$pastEvents[$i]['banner'].'" ></td></tr><tr><td>'.$pastEvents[$i]['name'].'</td></tr></table>';
        
        echo '</td></tr>';

事件监听器:

echo '<tr><td><table class="invisible"><tr><td>Number Shown: <select name="select" onchange="changePast()"><option value="3">3</option><option value="10">10</option><option value="20">20</option><option value="all">All</option></select></td></tr></table></td></tr>';

脚本:

<script>
    function changePast()
        var shown = document.getElementsByName("select");
        document.getElementById("pastEvents").innerhtml = "test";
    
</script>

【问题讨论】:

尝试使用 innerHTML 而不是 innerhtml 是的,shownNodeList(不是前面所述的 HTMLCollection,抱歉)。你需要一个特定的元素。然后,假设您要添加该 select 元素的 value,您需要获取它的 value。否则你会得到"[object NodeList]""[object HTMLSelectElement]" 您的浏览器控制台中是否显示任何错误?您可以尝试在函数开头添加console.log('test'); 以查看是否发生了任何事情吗? @Xufox 它在浏览器中显示:未捕获的类型错误:无法将属性“innerHTML”设置为 null。我一无所知 哦,这意味着找不到该元素。这很奇怪,因为您确实在使用 PHP 来回显它,并且只有在您更改 select 下拉列表时才能访问该元素,因为 changePast 函数仅在 onchange 内联处理程序中执行。 &lt;td id="pastEvents"&gt; 真的存在于您的文档中吗? 【参考方案1】:

其实是innerHTML

<div id="A"></div>

document.getElementById("A").innerHTML = 'text'

【讨论】:

它仍然不起作用,不知道为什么但是当我更改选择框值时没有任何反应【参考方案2】:

正确的使用方式是.innerHtml()而不是.innerhtml()

<script>
    function changePast()
        var shown = document.getElementsByName("select");
        document.getElementById("pastEvents").innerHtml = "test";
    
</script>

【讨论】:

以上是关于JS更改内部html表格单元格的主要内容,如果未能解决你的问题,请参考以下文章

HTML / CSS / Javascript - 将鼠标悬停在不同的单元格上时更改一个表格单元格的值

检测 <td> 的内部 html 何时随 javascript 或 jquery 更改

如何在 SQL Server 2012 中使用 html 更改表格中特定单元格的颜色?

使用html内容更改matlab中表格单元格的背景颜色

如何从 HTML 表格中删除特定单元格?

如何使 HTML 表格单元格可编辑?