我正在尝试从我的 HTML 文档中的一系列 img 标签加载一个填充有 src 属性的数组。
HTML:
<html>
<head>
<title>
JQuery Slider
</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</head>
<body>
<div id = "wrapper">
<h1 class="dark-header">2014 Salt Lake Comic Con FanX</h1>
<div id="background-img">
<img src="img/img01.jpg"/>
</div>
<div>
<img src="img/img02.jpg"/>
</div>
<div>
<img src="img/img03.jpg"/>
</div>
<div>
<img src="img/img04.jpg"/>
</div>
<div>
<img src="img/img05.jpg"/>
</div>
<div>
<img src="img/img06.jpg"/>
</div>
<div>
<img src="img/img07.jpg"/>
</div>
<div>
<img src="img/img08.jpg"/>
</div>
<div>
<img src="img/img09.jpg"/>
</div>
<div>
<img src="img/img10.jpg"/>
</div>
</div>
</body>
</html>
JQuery:
$(document).ready(function() {
var source = new Array();
$('img').each(function(attr) {
source.push($('img').attr('src'))
});
console.log(source)
});//end document.ready
控制台的输出是一个包含 10 个元素的数组,但只使用了第一个 img 属性。我不确定如何让每个函数遍历所有元素并将它们推送到数组。
最佳答案
您的问题是 $('img').attr('src')
将始终返回元素集合中第一个元素的值。
正如评论中所指出的,您需要查看循环中的特定实例
另一种方法是使用 map()
,它将为您创建数组
var source = $('img').map(function(){
return $(this).attr('src');
}).get();
关于javascript - JQuery 每个函数用 HTML 图像的属性填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28486669/