@DarCKoder

Как получить атрибут элемента, если элемент был получен методом querySelectorAll?

Вопрос выше.
код:
(function() {
		if(autoplay) {
			var int = setInterval(function() {
				var activeElem = document.getElementById('active'),
					activeElemPos = activeElem.getAttribute('pos'),
					nextElem = document.querySelectorAll('#' + sliderWrapId + ' [pos="' + (+activeElemPos + 1) + '"]');

				if(activeElemPos == imagesCount) {
					slider.style.left = 0;
				} else {
					console.log(nextElem.getAttribute('img-pos'));
					// slider.style.left = nextElem.getAttribute('img-pos');
				}
			},2000);
		} else {
			return;
		}
	})();


nextElem.getAttribute('img-pos') на это, браузер выдаёт
Uncaught TypeError: nextElem.getAttribute is not a function
  • Вопрос задан
  • 309 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Метод querySelectorAll() возвращает коллекцию элементов, а не один элемент. Если вам нужен один - используйте querySelector().

P.S. Если писать так:
(function() {
  if (!autoplay) {
    return;
  }

  var int = setInterval(function() {
    ...
  });
})();

вы избавитесь от одного уровня вложенности и более явно обозначите логику работы программы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы