документ цикла.getElementsByClassName

#javascript #dom

Вопрос:

Я должен зациклить document.getElementsByClassName, но сначала проверю.

Всего за один элемент я бы сделал это:

 if (document.getElementsByClassName('lazyload img-responsive wp-post-image')[0].getAttribute('width') < 500){
document.getElementsByClassName('lazyload img-responsive wp-post-image')[0].setAttribute("srcset", " https://www......jpg ");}
 

Но я должен повторить это для большего количества элементов, и я никогда не знаю, сколько их там. Мне бы понадобился такой цикл, но с проверочным документом.getElementsByClassName («lazyload img-отзывчивый wp-пост-образ») [0] .Атрибут getAttribute («ширина»)

 var elements = document.getElementsByClassName('lazyload img-responsive wp-post-image');
for (var i = 0, l = elements.length; i < l; i  ) {
    elements[i].setAttribute("srcset", " https://www......jpg  ");
}
 

Как я мог решить эту проблему?
Спасибо

Ответ №1:

Не уверен, что ваши требования понятны. Это значит, что вам нужно проверить только element[0] его ширину, а затем установить srcset для всех остальных элементов? Или вам нужно протестировать соответствующие element[i] и elements[i].setAttribute("srcset", " https://www......jpg ");

Если 1-й из них верен, то вы можете попробовать:

 var elements = document.getElementsByClassName('lazyload img-responsive wp-post-image');
if(elements[0].getAttribute('width') < 500){
    for (var i = 0, l = elements.length; i < l; i  ) {
        elements[i].setAttribute("srcset", " https://www......jpg  ");
    }
}
 

Если 2-е верно, то попробуйте:

 var elements = document.getElementsByClassName('lazyload img-responsive wp-post-image');
for (var i = 0, l = elements.length; i < l; i  ) {
    if(elements[0].getAttribute('width') < 500){
        elements[i].setAttribute("srcset", " https://www......jpg  ");
    }
}
 

Комментарии:

1. отличное спасибо. Я решил с помощью: var elements = document.getElementsByClassName(«ленивая загрузка img-отзывчивого wp-пост-изображения»); для (var i = 0, l = элементы. длина; i < l; i ) { if(элементы[i].getAttribute(‘ширина’) < 500){ элементы[i].setAttribute(«srcset», » …. jpg «); } }