可以在多个数组中设置名称
Can set name in multiple array
在Javascript中使用多个数组时有一个小问题。
我这样定义数组:var list = [];
在html中,我有<img class="Img" id="2" src="/test.png"/>
我的目标是在"onload"上制作这样的多重数组:
list[2][test.png]
其中2是id标签,另一个是图像。这样,我以后可以做一个循环,收集属于列表[2]或列表[3]的所有照片,如果ID存在。
但我的问题是,我无法让它发挥作用。我试过这个:
var images = document.getElementsByClassName("Img");
for(var i=images.length; i--;) {
var PhotoId = images[i].getAttribute('id'), // Id on the photo
image = images[i].getAttribute('src'); // The images
}
如果我现在在循环this.list.push(image)
中,它就像一个符咒,但这是一维的。
我如何使用我上面解释的这个PhotoId?
在单行u中也可以这样做,检查list[photoId]数组是否已经存在,如果是,则将图像推入其中,否则创建一个空数组。
list[photoId] ? list[photoId].push(image) : (list[photoId] = []).push(image);
试试这个,
var images = document.getElementsByClassName("Img");
var arr=[];// array
for(var i=images.length; i--;) {
var PhotoId = images[i].getAttribute('id'), // Id on the photo
image = images[i].getAttribute('src'); // The images
arr[PhotoId]=image;
}
console.log(arr);
您可以使用
this.list[photoId] = []
然后
this.list[photoId].push(image)
另一方面,id
在DOM中应该是唯一的。如果要对具有特定属性的元素进行分组,请使用class
属性。
相关文章:
- 如何在不使用jQuery的情况下设置数组以获取单选按钮值
- JavaScript-设置数组中包含变量的数组
- 用户输入设置数组长度
- jQuery/JavaScript按属性设置数组
- 在 JavaScript 中获取和设置数组内对象的值
- 无法设置数组中日期的格式
- 注册客户端脚本不适用于设置数组值
- 根据特定日期设置数组
- IMacros 检查和设置数组元素
- 通过索引设置数组对象的值会设置所有数组项
- 如何使用jQuery/javascript在下拉列表(多选)中设置数组对象的值
- MeanJS:在Angular中设置数组中的Mongoose对象引用
- 如何使用CSS在JavaScript中设置数组中“td”的高度
- 如何从新行设置数组的每个元素
- 根据单独数组中的值设置数组的值[Angular,forEach]
- 使用_.find设置数组内对象的属性值
- 以编程方式在聚合物中设置数组项的属性值
- Wp编辑器设置数组自动保存功能
- 如何设置数组的属性,以便通过json_encode获得所需的结果
- 如何在Javascript中设置数组中的JSON路径