当页面上的其他人做什么时,为什么这个div不响应innerHTML?

时间:2016-04-19 20:41:44

标签: javascript html

当使用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。

另请注意,这只是一个学校项目,无论如何都不一定实用。

1 个答案:

答案 0 :(得分:5)

name变量与window.name冲突。您只需将var name =更改为var somethingElse =