首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript和querySelector

JavaScript和querySelector
EN

Stack Overflow用户
提问于 2013-10-24 19:18:59
回答 4查看 7.4K关注 0票数 1

我有一个HTML:

代码语言:javascript
复制
<div id="allSteps">
  <h3>Intermediate steps</h3>
  <span class="staticStep">→ <img src="" alt="intermediate step" class="image" ></span>
  <span class="staticStep">→ <img src="" alt="intermediate step" class="image"></span>
  <span class="staticStep">→ <img src="" alt="intermediate step" class="image"></span>
</div>

在javaScript中,如何访问每个图像的.src?

我尝试了以下方法,但是它给了我一个错误:

代码语言:javascript
复制
document.querySelector(".staticStep img").src[0] = images[num][0];
document.querySelector(".staticStep img").src[1] = images[num][1];
document.querySelector(".staticStep img").src[2] = images[num][2];

我也尝试了以下方法,但是它给了我一个错误:

代码语言:javascript
复制
document.querySelector(".staticStep img")[0].src = images[num][0];
document.querySelector(".staticStep img")[1].src = images[num][1];
document.querySelector(".staticStep img")[2].src = images[num][2];

我做错了什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-24 19:23:26

尝试使用document.querySelectorAll,它返回所有可能的结果,而不是仅仅返回第一个结果。您所得到的错误(Uncaught TypeError: Cannot set property 'src' of undefined)是因为querySelector只返回找到的第一个元素,而不是数组(并且元素不能像数组一样被访问)。

jQuery ( querySelectorquerySelectorAll的灵感来源)总是允许您像数组一样访问($('.staticStep img')[0]工作),所以这可能就是您的困惑的根源所在。

快速JSFiddle示例:http://jsfiddle.net/j8ZUJ/1/

票数 6
EN

Stack Overflow用户

发布于 2013-10-24 19:29:47

document.querySelector在文档中返回第一元素,因此出现错误。你很可能想尝试一下:document.querySelectorAll

代码语言:javascript
复制
var elements = document.querySelectorAll(".staticStep img");

elements[0].src  =.....
elements[1].src  =.....
elements[2].src  =.....

或者你可以用jQuery代替。

票数 0
EN

Stack Overflow用户

发布于 2013-10-24 19:31:03

尝试此方法返回所有src:

代码语言:javascript
复制
map = Function.prototype.call.bind([].map);
map(document.querySelectorAll(".image"), function(o){
    return o.src;
});

或将src设置为

代码语言:javascript
复制
o.src="whatever";

这是小提琴

查看MDN以获得map的兼容性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19574692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档