我有几个图像的列表,一些带有肖像类,另一些带有风景类:
<img src="/images/fullsize/007.jpg" class="portrait">
<img src="/images/fullsize/008.jpg" class="landscape">
<img src="/images/fullsize/047.jpg" class="landscape">
<img src="/images/fullsize/048.jpg" class="landscape">
<img src="/images/fullsize/049.jpg" class="landscape">
<img src="/images/fullsize/050.jpg" class="portrait">
<img src="/images/fullsize/051.jpg" class="portrait">
<img src="/images/fullsize/052.jpg" class="landscape">
<img src="/images/fullsize/053.jpg" class="landscape">
<img src="/images/fullsize/054.jpg" class="landscape">
如何识别所有.portrait图像的位置(在列表中)并将其作为数组存储在变量中? (即,对于这个例子,我需要输出&#39; 1,6,7&#39;或者&#39; 0,5,6&#39;。)。我查看了使用.index(),但这只会返回一个结果。
答案 0 :(得分:1)
看看这个例子:
$(function() {
var p_ind =[], l_ind=[];
$('img').each(function(i, data) {
if( $(data).hasClass('portrait') ) p_ind.push(i);
else l_ind.push(i);
});
// Portrait
console.log(p_ind);
// Landscape
console.log(l_ind);
});
答案 1 :(得分:0)
这是一个jsFiddle,其中包含一些示例代码,说明了一个可能的示例:
$(function() {
var portrait = [];
var landscape = [];
$("img").each(function (i, item) {
if ($(item).hasClass("portrait")) {
portrait.push(i);
}
if ($(item).hasClass("landscape")) {
landscape.push(i);
}
});
console.log("Portrait: " + portrait);
console.log("Landscape: " + landscape);
});
它使用jQuery选择器选择图像,然后为每个图像询问它是否包含纵向或横向类。根据这些问题的答案,将它们推入阵列以供以后检查。