Я отбросил jquery около 9 (иш) месяцев назад и нуждался в механизме выбора (без всяких хлопот и не против, т. Е. Поддержка < 7) поэтому я сделал упрощенную версию document.querySelectorAll, создавая эту функцию:Использование querySelectorВсе, чтобы получить ВСЕ элементы с этим именем класса, а не только первые
// "qsa" stands for: "querySelectorAll"
window.qsa = function (el) {
var result = document.querySelectorAll(el)[0];
return result;
};
Это отлично работает на 95% от времени, но я имел эту проблему на некоторое время теперь, и я исследовал MDN, w3c , SO и не забывать Google :), но еще не нашли ответа, почему я только получил первый элемент с запрошенным классом. И я знаю, что только первый возвращаемый элемент вызван «[0]» в конце, но функция не будет работать, если я удалю его, поэтому я попытался создать цикл for с индексной переменной, увеличение стоимости в зависимости от длины элементов с этим классом, как это:
window.qsa = function (el) {
var result, el = document.querySelectorAll(el);
for(var i = 0; i < el.length; ++i) {
result = el[i];
}
return result;
};
Again, которые не работали, поэтому я попробовал время цикл, как это:
window.qsa = function (el) {
var result, i = 0, el = document.querySelectorAll(el);
while(i < el.length) {
i++;
}
result = el[i];
return result;
};
в настоящее время я начинаю интересно, что-нибудь работает? и я очень расстраиваюсь document.querySelectorAll ... Но мое упрямое внутреннее «я» продолжает идти, и я продолжаю терпеть неудачу (цикл цикла), поэтому я знаю, что сейчас НАСТОЯЩИМ время задать следующие вопросы:
Почему он возвращает только первый элемент с этим классом, а не все?
Почему мой цикл петли не работает?
Почему мой цикл while не работает?
И спасибо, потому что любая/вся помощь очень ценится.
Как она используется? –
Почему не только используется 'return document.querySelectorAll (el)'? –
Проблема, безусловно, в том, где вы ее используете. Удаление [0] вернет NodeList элементов, а не один элемент, поэтому вам просто нужно рассматривать его как массив при обращении к элементам. –