Java 脚本找不到该元素
java script unable to find the element
这是我的问题:
当我说getelementbyid("table1")时,它说"Uncatch TypeError:无法设置null的属性'innerHTML'"
我正在通过 Java 脚本渲染一个动态表,如下所示:
function mainProcessing()
{
<% ProductController pc=new ProductController();%>
var val = <%=pc.doTask()%>
var jobj=JSON.stringify(val);
document.write(jobj);
alert(jobj);
var obj=JSON.parse(jobj);
alert("jobj");
alert(obj.toString());
var object = eval("(" + jobj+ ")");
alert("this part is done");
return object;
}
function drawtable()
{
var JSONObj=mainProcessing();
var tablecontents = "";
for (var i = 0; i < 5; i ++)
{
tablecontents += "<tr>";
tablecontents += "<td>" + i + "</td>";
tablecontents += "<td>" + i * 100 + "</td>";
tablecontents += "<td>" + i * 1000 + "</td>";
tablecontents += "</tr>";
}
document.write(JSONObj.toString());
alert("just outside nested loop");
document.getElementById("table1").innerHTML = tablecontents;
}
为了进行测试,我在表中插入了随机值。
HTML部分是这样的:
<title>Indian Divine !!!</title>
</head>
<body onload="drawtable()">
<center>
<h1>my name is jobj</h1>
<table id="table1">
</table>
</center>
</body>
</html>
浏览器用户是 Chrome。IDE 日食朱诺
页面加载后不能使用document.write
。它替换了内容。如果您想查看其中的内容,请使用console.log(jobj);
其次,如果您打算将此代码与 IE 一起使用,则无法在 HTML 中设置表。
第三,不要使用eval()
来转换JSON。使用JSON.parse()
document.write(mayur)
将整个文档(包括表)替换为 mayur
的值,因为您在加载文档后调用它。目前您正在尝试访问 ID 为 table1
的元素,它不再存在。
解决方案:不要使用 document.write
.
更多信息: MDN - document.wite
相关文章:
- [Vue warn]:找不到元素
- 未能加载,因为找不到支持的源.当播放HTML5音频元素时
- 找不到javascript元素
- 在页面中找不到元素的正确位置.函数未考虑填充
- 可以'ajax调用后,我找不到模板中的元素
- JQuery找不到元素
- 在Selenium Web驱动程序2.0中找不到元素
- 元素找不到带有文本的selenium Web驱动程序
- 没有这样的元素:找不到元素:正在验证web元素是否丢失
- jQuery没有'找不到元素或其属性
- jQuery在通过ajax调用返回的一些html中找不到类元素
- 找不到下一个元素
- dn'我找不到适合课堂的语法元素
- Jquery index() 找不到我的元素
- FusionCharts--找不到容器 DOM 元素
- 为什么lastindexOf()找不到最后一个元素
- 克隆并附加唯一 ID 后找不到 DOM 元素
- 找不到 ExtJS renderTo 元素
- 输入元素找不到其值
- jQuery 选择器在 DOM 中找不到添加的元素