Javascript/jQuery动态数组
我正在尝试使用JS/jQuery创建一个动态数组。HTML结构是:Javascript/jQuery动态数组,javascript,jquery,Javascript,Jquery,我正在尝试使用JS/jQuery创建一个动态数组。HTML结构是: <ul> <li><img src="1"/></li> <li><img src="2"/></li> <li><img src="3"/></li> </ul> 我原以为我可以使用jQuery.each()方法……但我总是迷路。如果你能提供一个解释,我将非常感激 谢谢
<ul>
<li><img src="1"/></li>
<li><img src="2"/></li>
<li><img src="3"/></li>
</ul>
我原以为我可以使用jQuery.each()
方法……但我总是迷路。如果你能提供一个解释,我将非常感激
谢谢
var imagesArray = $('img').map(function(){ return this.src; }).get();
下面是一个演示:
循环遍历所有元素,收集回调函数返回的任何内容,并从中创建一个新数组 但是,返回的结果的行为类似于数组,但实际上是一个jQuery对象(当然,它在您的用例中可能没有什么区别) 如果要将jQuery对象转换为数组,可以使用。您认为正确:)可以使用jQuery.each()方法。。如下
<script type="text/javascript">
$(document).ready(function(){
var imagesArray =new Array();
$("ul li img").each(function(){
imagesArray.push($(this).attr('src'));
});
console.log(imagesArray); // this returns ["1", "2", "3"]
});
</script>
$(文档).ready(函数(){
var imagesArray=新数组();
$(“ul li img”)。每个(函数(){
imagesArray.push($(this.attr('src'));
});
console.log(imagesArray);//返回[“1”、“2”、“3”]
});
使用此代码片段在jquery中循环数组
1) 首先我们声明一个arrray
var MapAreas = [];
2) 现在我们使用foreach循环
$.each(MapAreas, function (index, value) {
alert(index + ':' + value);
}
3) 要检查数组中是否已经存在值,请使用以下代码段
if ($.inArray(value, MapAreas) >= 0) {}
4) 要从数组中删除项,请使用此函数
RemoveItemFromArray(value, arr) {
return jQuery.grep(arr, function (elem, index) {
return elem !== value;
});
}
当我将其添加到我的代码并警告结果时。警报中没有显示任何内容。也许我做错了什么。另外,你能解释一下.map和.get函数吗。求你了@米奇-我用一个演示更新了我的答案,并做了进一步的解释。
RemoveItemFromArray(value, arr) {
return jQuery.grep(arr, function (elem, index) {
return elem !== value;
});
}