GetElementById 在 IE 中返回 null
GetElementById Returning Null In IE
在下面的函数中,chld仅在IE中为空,在Firefox中javascript工作正常。
var div = document.createElement("div");
var divid = "dv" + num;
div.setAttribute("ID", divid);
div.setAttribute("value", num);
var _text = document.createElement("input");
_text.setAttribute("type", "text");
_text.setAttribute("id", "txtAsName" + num);
_text.setAttribute("name", "txtAsName" + num);
var lbl = document.createElement("label");
var _upload = document.createElement("input");
_upload.setAttribute("type", "file");
_upload.setAttribute("ID", "upload" + num);
_upload.setAttribute("name", "uploads" + num);
_upload.setAttribute("size", "80");
var hyp = document.createElement("a");
//hyp.setAttribute("style", "cursor:Pointer");
hyp.style.cssText='cursor:Pointer';
//hyp.setAttribute("onclick", "return RemoveDv('" + divid + "');");
hyp.onclick=function() {RemoveDv(divid);};
hyp.innerHTML = "Remove";
var br = document.createElement("br");
var _pdiv = document.getElementById("Parent");
div.appendChild(br);
div.appendChild(lbl);
div.innerHTML += ' ';
div.appendChild(_text);
div.innerHTML += ' ';
div.appendChild(_upload);
div.innerHTML += ' ';
div.appendChild(hyp);
_pdiv.appendChild(div);
....
这是删除功能
function RemoveDv(obj) {
var p = document.getElementById("Parent");
var chld = document.getElementById(obj);
p.removeChild(chld);
}
这是我试图删除的div 标签看起来的谎言。
<div align="left" id="Parent">
<div ID="dv1" value="1">
<div ID="dv2" value="2">
....
有趣的是,即使我添加这行代码"为了调试",chld1 仍然是空
的var chld1 = document.getElementById("dv1");
更新:
代码本身似乎没有任何问题。如果我在 ie 中运行相同的代码,我的本地代码 chld 就会设置。但是如果我在我们的开发服务器上运行此代码,即看不到该元素。
任何想法为什么会这样?
这是一个很长的机会,但请尝试将div 上的大写大小写 ID 属性更改为小写 ID。我没有IE,现在无法自己测试...不好意思
如果你在 DOM 中有多个具有相同ID
的元素,Internet Explorer 中的document.getElementById
函数返回 null,而在 Firefox 中,它返回第一个找到的对象。
请检查您的代码以确保页面上仅存在一个带有"父"id
元素
您可以简单地保存引用并删除节点,而无需搜索它们。
相关文章:
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- php函数的ajax html$_POST值返回null
- 是否可以 document.getElementsByTagName('head')[0] ever 返回 null
- Firebase:查询返回null
- 在浅层渲染的反应组件上,Enzyme为道具返回null
- jQuery Multiselect插件返回null长度(应为0?)
- 如何处理getElementById返回Null
- JavaScript中的RegExp返回null
- Javascript 中的 RegEx 返回 Null
- 加载时的getelementbyID返回null
- 谷歌脚本在第二次调用Gmail后返回null
- Indexeddb OpenCursor在特定键值上返回null
- Ajax响应返回null
- 有没有一种方法可以判断图像src是否在javascript内部返回null
- 当JS在Chrome控制台上正常工作时,Selenium JavaScript执行器返回null
- Auth$getUser返回null,即使用户已登录(AngularFire,Firebase)
- Mongoose JS findOne总是返回null
- 为什么我的ajax调用返回null
- 当与全局标志一起使用时,Javascript Regex在后续调用中返回null
- Regex以确定该值在JS中是否有效,返回null