我正在使用<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/
我错过了什么吗?
答案 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
的元素。
希望这有帮助。