javascript - 无法更改表格单元格的 innerHTML

标签 javascript html

我在尝试使用 .innerHTML 更改表格单元格内的文本时遇到了问题。当我创建的其中一个单选按钮被选中时,我想将单元格中的纯文本更改为链接。相关代码如下:

HTML:

 ...<td id="header1" style="width: 80px; text-align:center">Column 1</th>... 


 <div id="testButtons">
        <input type="radio" name="on/off" onclick="showLinks()" value="off" id="off" checked="">
            <label for="off">Function Off</label> 
        <input type="radio" name="on/off" onclick="showLinks()" value="on" id="on">
            <label for="on">Function On</label>
 </div>

和 Javascript:

function showLinks(){ 
if(document.getElementById("on").checked){
    document.getElementById("header1").innerHTML("<a id='headerLink1' href='#' onclick='selectColumn()'>Column 1</a>");
}

当我测试它时,我得到这个错误:Uncaught TypeError: Property 'innerHTML' of object #HTMLTableCellElement is not a function。

我不知道为什么,因为看起来这应该有效,至少根据 MSDN (“但是,要更改特定单元格的内容,您可以使用 innerHTML。”)。

任何帮助将不胜感激, 谢谢

最佳答案

innerHTML 不是一个方法,而是一个 DOM 属性(官方称为 DOMString)。你应该这样做:

document.getElementById("header1").innerHTML = "<a id='headerLink1' href='#' onclick='selectColumn()'>Column 1</a>";

关于javascript - 无法更改表格单元格的 innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17322119/

相关文章:

javascript - SpeechSynthesisUtterance 无法在专为 Android 构建的 HTML5 应用程序中运行

jquery - 如何替换伪类:placeholder-shown with jquery

javascript - 将值传递给 google.maps.LatLng

javascript - 将向左滚动设置为在刷新时从零开始不起作用

当许多鼠标悬停事件时,jQuery 停止动画排队

php - 表单提交后 HTML 页面不断重复

javascript - 如何在自定义 css 文件之后加载原始文件时覆盖 CSS !important 属性

javascript - 如何将 mouseover 和 mouseout 功能转换为点击事件

javascript - 使用 Javascript 通过网络序列化对象 - 如何改进它?

html - 我的第一个选项卡在下面的段落中运行。如何防止这种情况发生?