getElementById获取不到js添加的id对象

qq_34200559 2017-02-21 04:34:42
使用js增加标签和ID之后,然后使用DOM进行id对象获取,但是获取到的为null。


但是如果改成纯html语句则可以直接获取到。

请教高人是否用js写的html就无法用dom进行获取id?
...全文
646 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunxuhui1993 2017-11-03
  • 打赏
  • 举报
回复
calllll
WildMrZhang 2017-02-22
  • 打赏
  • 举报
回复
引用 6 楼 qq_34200559 的回复:
[quote=引用 2 楼 lang1422310418 的回复:] function createInfoWindow(title,content){ var info = document.createElement('div'); info.id = "state"; document.body.append(info); alert(document.getElementById("state")); } // 获取元素必须在添加到dom里面后,才可以获取
这样是可以获取到了,但是还没有执行该事件就全部显示出来了[/quote] 1、可以在每次创建div时,调用你的方法。 2、将创建的div隐藏,最后创建完成后,此时div已经存在dom节点内,只是不显示,然后统一循环调用方法,然后再统一show。
jian_shipeng 2017-02-22
  • 打赏
  • 举报
回复
不同浏览器对getElement的兼容性不好,改成用jquery的$("#ID")试试
a7459 2017-02-21
  • 打赏
  • 举报
回复
都用jQuery了 现在谁写原生JS呀。学会了也用不到
qq_34200559 2017-02-21
  • 打赏
  • 举报
回复
引用 2 楼 lang1422310418 的回复:
function createInfoWindow(title,content){
var info = document.createElement('div');
info.id = "state";
document.body.append(info);
alert(document.getElementById("state"));

}


// 获取元素必须在添加到dom里面后,才可以获取


这样是可以获取到了,但是还没有执行该事件就全部显示出来了
qq_34200559 2017-02-21
  • 打赏
  • 举报
回复
引用 2 楼 lang1422310418 的回复:
function createInfoWindow(title,content){ var info = document.createElement('div'); info.id = "state"; document.body.append(info); alert(document.getElementById("state")); } // 获取元素必须在添加到dom里面后,才可以获取
添加了,还是获取不到
引用 1 楼 soyestrellafortuna 的回复:
window.onload是在页面加载的时候就去查找dom中的对象。这个时候,你的对象还没有生成呢。
window.onload我记得是在dom加载之后执行
qq_34200559 2017-02-21
  • 打赏
  • 举报
回复
引用 3 楼 ryuugu_rena 的回复:
本来就获取不到呀
怎么说?
ryuugu_rena 2017-02-21
  • 打赏
  • 举报
回复
本来就获取不到呀
WildMrZhang 2017-02-21
  • 打赏
  • 举报
回复
function createInfoWindow(title,content){ var info = document.createElement('div'); info.id = "state"; document.body.append(info); alert(document.getElementById("state")); } // 获取元素必须在添加到dom里面后,才可以获取
soyestrellafortuna 2017-02-21
  • 打赏
  • 举报
回复
window.onload是在页面加载的时候就去查找dom中的对象。这个时候,你的对象还没有生成呢。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧