在动态div中写入动态内容

时间:2016-12-27 11:09:19

标签: javascript html

我正在使用<div>创建动态id块,其中包含来自for循环的i

如果我想在动态<div>中获得特定的<div>,我会收到错误

错误:Cannot read property 'getElementById' of undefined.

document.getElementById("roomModal_"+i).document.getElementById("modalDialog_"+i).document.getElementById("modalContent_"+i).document.getElementById("modalBody_"+i).document.getElementById("images");

如果我只是写document.getElementById("images"),那么我可以得到它,但重点是每个动态<div>块都有自己的内容。

https://jsfiddle.net/oryz8eLs/

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

getElementById()将返回一个对象,您无法在对象上调用.document.getElementById

所以你不能像现在一样嵌套js选择器,而是使用querySelector,如:

var img = document.querySelector("#roomModal_"+i+" #odalDialog_"+i+" #odalContent_"+i+" #odalBody_"+i+" #images");

由于您使用id并且id在同一文档中应该是唯一的,您可以这样做:

var img = document.querySelector("#images");
//Or
var img = document.getElementById("#images");

获取具有特定images的元素。

希望这有帮助。