Javascript .innerHTML不工作

Javascript .innerHTML不工作,javascript,innerhtml,Javascript,Innerhtml,我有一个非常愚蠢的问题。我想更改表格单元格的内容。我的代码: var x = ajax('...'); alert(x); alert(document.getElementById(tdId).innerHTML); document.getElementById(tdId).innerHTML = x; “x”有正确的内容=>因此ajax可以正常工作 第二个警报(…)也给出了正确的(实际的)内容。但当我想在单元格中写x时,什么也没发生。没有错误,

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

        var x = ajax('...');

    alert(x);
    alert(document.getElementById(tdId).innerHTML);

    document.getElementById(tdId).innerHTML = x;
“x”有正确的内容=>因此ajax可以正常工作 第二个警报(…)也给出了正确的(实际的)内容。但当我想在单元格中写x时,什么也没发生。没有错误,没有

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

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

var x = "Hello World";
var td = document.getElementById("myId");
var text = document.createTextNode(x);
td.appendChild(text);
如果脚本位于页面顶部,则当您尝试运行javascript函数时,DOM尚未完成加载

确保在加载DOM后Javascript正在运行:

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

或者,将脚本文件移动到页面底部。(建议使用第一个)

您的代码是正确的,但请确保未隐藏此元素(例如,使用display:none或visibility:hidden)。如果在HTML文件中设置默认值,它会出现吗

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

我找到了解决方案

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

这很难!:-)


不过,我真的非常感谢你的帮助!对不起,浪费了你的时间!:(

x的值是多少您确定Ajax请求是同步的吗?xmlHttpObject.open('get',url,false);=>因此它是同步的…x是一个字符串:“Kugelgew.sp.1000x16x5”=>一些奇怪的角色?我不这么认为?!非常奇怪…你能用
.textContent
试试看它是否有效。谢谢你的想法…它试过了,但也失败了…我很迷茫:(@minitech-在td中创建一个文本节点来附加文本。编辑,你能再试一次吗?它显然在我提供的JSFIDLE上工作。我刚刚用tdId=>更改了“myId”,什么都没有发生:(tdId是变量吗?还是文本?如果它是变量,你应该删除我代码的引号。还有一个很好的提示“+=”=>但仍然没有成功。元素没有隐藏。其他问题:如果两个元素具有相同的id,那么我将得到一个错误,对吗?因此,我们也可以排除这个想法?不,您不会有错误。
x
将应用于具有
tdId
id的第一个元素