当使用JavaScript设置div的innerHTML时,我只有一个div,我无法弄清楚为什么没有设置...
我的<body>
页面上有以下代码
<div style="width:50%; margin:0 auto;">
<div id="name"></div>
<div id="image"></div>
<div id="description"></div>
</div>
<script>
var url = window.location.href;
var captured = /name=([^&]+)/.exec(url)[1];
var result = decodeURI(captured);
if (result != 'none') {
var name = document.getElementById('name');
name.innerHTML = "<p>" + result + "</p>";
var description = document.getElementById('description');
description.innerHTML = '<object data="descriptions/' + result + '.txt" style="font-family:Gotham, Helvetica, Arial, sans-serif"></object>'
var image = document.getElementById('image');
image.innerHTML = '<img style="float:left;" src="images/' + result + '.jpg">'
}
else {
document.write('You have no items in your cart');
var elem = document.getElementById('badge');
elem.parentNode.removeChild(elem);
}
</script>
由于某种原因,当描述和图像div执行时,名称<div>
不会被修改。我在这里缺少什么吗?
Safari和Chrome中的JavaScript控制台显示没有错误,两者都有相同的结果。 name变量也不是null。
另请注意,这只是一个学校项目,无论如何都不一定实用。
答案 0 :(得分:5)
name
变量与window.name
冲突。您只需将var name =
更改为var somethingElse =
。