getElementById not showing up

getElementById not showing up

本文关键字:up showing not getElementById      更新时间:2023-09-26

我正在尝试使用 getElementById 在页面中复制信息,但它没有显示。我将脚本包含在 IDX 子标题中(在文件夹 IDX-main 下):

<script type="text/javascript">
var elem = document.getElementById('IDX-detailsField-address'); 
var newElem = elem.cloneNode(true);
newElem.setAttribute('IDX-detailsField-address', 'IDX-details-address');
var before = elem.nextSibling;
elem.parentNode.insertBefore(newElem, before);</script>

我已经设置了复制的元素,以便它具有不同的id(IDX-details-address)。添加了div,但我在任何地方都看不到div 的内容。

<div id="IDX-details-address"></div>

该脚本在 http://jsfiddle.net/BR72b/中工作。该网站 http://austinhometeam.com提前感谢!

首先,setAttribute 使用不当。执行 setAttribute 时,第一个参数必须是属性类型,第二个参数必须是该属性的值。

其次,您应该创建一个新元素,而不是通过引用传递元素。最好的方法是使用 cloneNode(),它将保存节点的所有属性,甚至是子属性。

如果我正确理解您的问题,这将是一个解决方案:

var elem = document.getElementById('IDX-detailsField-address');
var newElem = elem.cloneNode(true);
newElem.setAttribute('id', 'IDX-details-address');
var before = elem.nextSibling;
elem.parentNode.insertBefore(newElem, before);

使用 cloneNode 时,请注意它将复制元素的 ID。当页面上存在重复的 ID 时,只有一个可用。