嗨,我想在javascript.My代码中访问某个特定div下的所有图像:
<div id="image-container" style="background-image:url(loading.gif)">
<div class="fade-box" id="image-1"><a href="javascript:GoNext();"><img src="2bscene-logo.gif" alt="" width="330" height="108" border="0" /></a></div>
<div class="fade-box" id="image-2" style="display: none;"><a href="javascript:GoNext();"><img src="streetgallery-logo.gif" alt="" width="330" height="108" border="0" /></a></div>
<div class="fade-box" id="image-3" style="display: none;"><a href="javascript:GoNext();"><img src="g4m-logo.gif" alt="" width="330" height="108" border="0" /></a></div>
</div>而我的js代码是:
var image_slide = new Array('image-1', 'image-2', 'image-3');我想动态获取所有基于id的DIV,而不是预定义的数组。我该怎么做呢?
发布于 2012-12-11 17:15:56
使用JavaScript,您可以使用DOM轻松完成此操作:
var container = document.getElementById("image-container");
var child;
var image_slide = [];
for (child = container.firstChild; child; child = child.nextSibling) {
if (child.id && child.nodeName === "DIV") {
image_slide.push(child.id);
}
}Live Example | Source
注意,上面的代码必须在元素已经在DOM中之后运行。确保这一点的最好方法是在页面中将script标记放在它们的下方(就在结束的</body>元素之前)。
发布于 2012-12-11 17:15:38
通过纯javascript,您可以尝试:
var arr = document.querySelectorAll('#image-container img');
for(var i=0;i<arr.length;i++){
console.log(arr[i].getAttribute('src'))
}在支持querySelectorAll的浏览器上。(IE8和up,其他版本的现代版本,而不是IE7和down。)-正如T.J.Crowder在评论中提到的那样
https://stackoverflow.com/questions/13816973
复制相似问题