Почему код не работает с querySelectorAll?
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Почему один и тот-же код в WindowsForms работает, а в Web не работает?
Здравствуйте, подскажите почему один и тот-же код в WindowsForms работает, а в Web не работает.
Почему не работает код на других компьютерах (на моем работает)?
вот задание: построить ф-ю: на вход поступают 2 строки, на выходе 1 строка, по следующим правилам.
Простейший код работает в MS IE, почему не работает в Mozilla, FireFox?
Приветствую. Вот собственно код: 16
вы перешли по ссылке, кликали по яблокам и очки не добавляются или что?
таковы правила языка js. либо переделывайте на классы либо как-то генерируйте разные id-ы для яблок и вешайте на них сетинтервал
Добавлено через 5 минут
Почему не работает код?
не могу понять почему не рассчитывается результат, помогите пожалуйста. .
Почему не работает код?? В ячейках 7-350 есть формулы, есть значения код должен очищать ячейки, где.
Есть код $(‘#postText’).on(‘mouseup’, function()< if.
Почему не работает код?
может кто объяснить, в чем проблема? private class TempSum < public int Sum; public int.
Источник
document.querySelector() не работает
Есть ли проблема зависимости? потому что я использую только чистый javascript, здесь нет jquery или чего-то еще. Использование node.js
Вот мой код
3 ответа
Я получил эту ошибку на Chrome:
Сняв скобки, ошибка исчезла.
Но я не понял, как должна работать ваша страница.
Ищите дополнительную информацию здесь:
Просто удаляя () от window.onload() Если ваша проблема решена, правильное использование: window.onload = function()
Если вы продолжаете иметь другую ошибку, вы должны проверить другие вещи, такие как внешние коды, опечатки или даже предоставить, что код загружается сразу после содержимого DOM, потому что document.querySelector работает просто отлично. Код ниже является доказательством.
Чтобы гарантировать, что код загружается после содержимого DOM, вы можете использовать jQuery:
или ванильный JS:
Если у вас есть какие-либо статические файлы JS, загружаемые в тег в вашем html, с просьбой загрузить JS в конце тела html. Документ не будет готов, пока JS не будет загружен, поэтому документ будет нулевым.
Если вы выбираете элементы DOM с помощью CSS-селектора ‘.’ для классов вы получаете список элементов вместо одного элемента, которым вы можете напрямую манипулировать.
Если слева, справа и контейнер появляются только один раз на вашей странице, лучше использовать идентификаторы:
Также в приведенном выше комментарии указывается, что вы не должны использовать скобки при установке события onload.
Источник
querySelectorAll не работает
у меня есть требование, где я должен забрать последний .div внутри контейнера и примените к нему некоторую бизнес-логику. Выбор последнего .div должен быть динамическим, потому что у пользователя есть возможность добавить / удалить .div элементы.
Первоначально я пытался с querySelectorAll но, похоже, это не сработало. Поэтому я решил изменить его на getElementsByClassName и удивительно, что он работал с той же логикой. Может кто-нибудь, пожалуйста, помогите мне с причиной того, почему remove_div не работает пока второй ( remove_div_2 ), нет?
примечание: Я не ищу исправления/решения проблемы, потому что я уже приступил ко второму варианту. Я просто хочу знать причину, почему опция с querySelectorAll не работает.
2 ответов
причина в том, что querySelectorAll метод возвращает статический список. Любые изменения, внесенные в документ после querySelectorAll используется (например, removeChild в этом случае) не будет отражаться в списке возвращаемых узлов. Отсюда elToStyle[elToStyle.length — 1] будет указывать на узел, который был удален.
а, getElementsByClassName С другой стороны возвращает текущий список узлов. Это означает, что elToStyle[elToStyle.length — 1] всегда будет указывать на последний .div независимо от того, какие изменения были внесены в документ после узла список был подготовлен или нет.
ниже-выдержка из официальной документации здесь
объект NodeList, возвращаемый методом querySelectorAll() должен быть статический, не живой ([DOM-LEVEL-3-CORE], раздел 1.1.1). Последующий изменения в структуре базового документа не должны отражается в объекте NodeList. Это означает, что объект будет вместо этого содержит список совпадающих узлов элементов, которые были в этот документ на момент создания списка.
Примечание: вы можете увидеть это, сделав console.log(elToStyle); до и после removeChild .
Если вы хотите ссылаться на последний элемент деления, просто сделайте следующее.
Источник
Почему не работает style для querySelector?
Испробовал как querySelector, как querySelectorAll, так и getElementsByClassName. Но изменить значение style все равно не получается.
Вот что говорит компилятор:
- Вопрос задан 19 нояб. 2020
- 172 просмотра
Он так говорит, потому что document.querySelector(‘tags__secondary’) вернул null. То есть он не нашел элемента
у вас на странице.
Возможно вы имели в виду document.querySelector(‘.tags__secondary’)
Stalker_RED, если я нажимаю на первую кнопку, мой код срабатывает так, как нужно, открываются с правой стороны теги (в красном квадрате).
Но на остальные кнопки код не работает (пытаюсь нажать на вторую кнопку, но теги не появляются)
Рич Пиана, вы задали вопрос «Почему не работает style для querySelector?» и я на него дал ответ.
То, что у вас есть другие ошибки, включая архитектурные — это другой вопрос.
querySelector возвращает один элемент. Первый попавшийся, который соответствует селектору. Если вам нужно менять стили нескольким .tags__secondary, то используйте querySelectorAll или getElementsByClassName. С перебором, естественно.
Рич Пиана, ответ совершенно верный, отмечаю решением. Если остались вопросы, задавайте.
Кстати, если нужно часто работать с коллекциями элементов, возможно, имеет смысл использовать jQuery, поскольку в ней все переборы коллекций совершаются автоматически.
Пример:
$(‘.tags__secondary’).css(
Про архитектуру тоже согласен, она плохая. Оптимально в данной ситуации использовать делегирование события, а не делать циклы в цикле.
v3shin, к сожалению это открывает все сразу теги, а мне нужно при нажатии на одного из них
Источник
Форум
Справочник
| Страница 1 из 3 | 1 | 2 | 3 | > |
| Опции темы | Искать в теме |
Добого дня. Имеется хтмл
Почему не получается взять все с
Aetae,
Там типо вопрос криво задал — id — то уникальны
«Почему не получается взять все div из
Aetae,
Все уникально.
Deff,
Спасибо, но почему-то, и этот вариант у меня локально не работает, а вот если так:
или даже querySelectorAll(‘#allvariants div’)[1].innerHTML)
То работает на ура. Но стоит прикрутить переменную и все. Даже не догадываюсь, что за фигня.
ID в прошлом быть должен уникальным. А с учетом того что в браузерах появились методы querySelector/querySelectorAll можно уже хоть на сотню элементов вешать один и тот же ИД
да конечно, так давно решили что лучше делать ид одним уникальным, даже в спецификации упомянули о том что мол ИД он и в африке ИД, что мол он должен быть уникален и все такое.. Но по большей части это лишь по причине того что getElementById не может выбрать элементы с одним ИД.
Хотя я конечно не пропагандирую о том что ИД нужно делать не уникальным, но можно делать и не уникальным.
Deff,
Но почему у меня тогда на компе не работает это:
Но тут же заводится это:
PashPP,
Хм — я проверил в Опере Мозилле и хроме при сохранении страницы на раб стол
Вон — devote мож подскажет ?
Но почему у меня тогда на компе неработает это:
Но тут же заводится это:
Ну во-первых в вашем случае скорее querySelectorAll(‘#allvariants > div’), а во-вторых скорее всего в первом случае скрипт вызывается до того как страница загружена, потому ничго не находит, а потом уже вы вызываете фукнкцию в которой обращаетесь к пустому списку.
Во втором случае поиск осуществляется в момент обращения, когда уже всё загружено.
Источник