.innerHTML 不起作用



我有一个非常愚蠢的问题。我想更改表格单元格的内容。我的代码:

        var x = ajax('...');
    alert(x);
    alert(document.getElementById(tdId).innerHTML);
    document.getElementById(tdId).innerHTML = x;

"x"有正确的内容=>所以Ajax正在工作第二个警报(...)也提供了正确的(实际)内容。但是当我想在单元格中写 x 时,什么也没发生。没有错误,什么都没有...

我在这里检查了一些类似的问题,但没有成功。

我真的不知道,我可以进一步测试什么来理解问题。你有想法吗?非常感谢您的帮助!

我有解决方案!!

这是非常愚蠢的:我通过点击 td 更改了 td 的内容......但是新内容有一个按钮可以再次单击...现在,Firefox 从头开始并再次显示"第二个"内容......

这很难! :-)

但是,我真的非常感谢您的帮助!很抱歉浪费您的时间!:(

您的

代码是正确的,但请确保此元素未隐藏(例如,显示:无或可见性:隐藏)。 如果在 HTML 文件中设置默认值,它会显示吗?

您还可以进行测试,将x的内容添加到另一个元素。 document.body.innerHTML += x甚至将x替换为字符串文字,例如"这是一个测试"。

var x = "Hello World";
var td = document.getElementById("myId");
var text = document.createTextNode(x);
td.appendChild(text);

如果您的脚本位于页面顶部,则当您尝试运行 JavaScript 函数时,DOM 尚未完成加载。

确保你的 Javascript 在 DOM 加载后运行:

window.onload += function(){
    var x = "Hello World";
    var td = document.getElementById("myId");
    var text = document.createTextNode(x);
    td.appendChild(text);
}; 

或者,将脚本文件移动到页面底部。(第一个更推荐)

最新更新