Чтобы выполнить итерации по изображениям и вернуть их со свойством src , заканчивающимся на .png:
var images = document.images;
var pngs = [];
for (var i=0, iLen=images.length; i<iLen; i++){
if (/\.png$/i.test(images[i].src))
pngs.push(images[i]);
}
pngs - это массив изображений с src оканчивается на .png и будет работать практически во всех браузерах, которые когда-либо поддерживали скриптинг.
Если вы хотите что-то, что использует querySelectorAll, если доступно, и простой цикл над изображениями, если нет, тогда должно подойти (согласно ответу lonesomeday):
function getPngs() {
if (document.querySelectorAll) {
return document.querySelectorAll('img[src*=".png"]');
}
var images = document.images;
var pngs = [];
var re = /\.png$/i;
for (var i=0, iLen=images.length; i<iLen; i++){
if (re.test(images[i].src)) {
pngs.push(images[i]);
}
}
return pngs;
}
Вы можете получить NodeListили массив, но если все, что вы хотите сделать, это перебрать его, то это нормально.В противном случае вам нужно преобразовать результат форка qSA в массив, который представляет собой еще пару строк кода.