Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с document.querySelectorAll и document.getElementById (https://javascript.ru/forum/misc/30361-problema-s-document-queryselectorall-i-document-getelementbyid.html)

Deff 01.08.2012 22:22

Цитата:

Сообщение от Aetae
querySelectorAll('#allvariants > div')

Да - это корректней!
================================================== ======
PashPP,
Но скорее всего Aetae прав про загрузку страницы(я ставил в самый конец и скрипт ниже

vadim5june 01.08.2012 22:25

Цитата:

Сообщение от PashPP (Сообщение 193769)
Deff,
Но почему у меня тогда на компе не работает это:
var fff=document.querySelectorAll('#allvariants div')
function uuu() {
	 
	alert(fff[1].innerHTML)
}

Но тут же заводится это:
function uuu() {
	 
	alert(document.querySelectorAll('#allvariants div')[1].innerHTML)
}

потому что Вы функцию объявили но к ней не обратились -добавьте uuu();
var fff=document.querySelectorAll('#allvariants div');uuu();
function uuu() {
	 
	alert(fff[1].innerHTML)
}

PashPP 01.08.2012 22:31

Да, скорее всего из-за того. что недозагрузился. Ссылка на скрипт стоит в хеддере.
Как поступают в таких случаях? Заносить переменные под ф-ции или строчку со ссылкой на скрипт вниз кинуть?

Deff 01.08.2012 22:34

PashPP,
Ну по window.onload (но это долго

в JQ есть событие загрузки DOM;

Можно оставить функцию в хедере - а вызов - в конце страницы

oneguy 01.08.2012 22:41

Почему
numOfButton[1].innerHTML

Ведь элементы в NodeList нумеруются с 0.

PashPP 01.08.2012 22:44

Deff,
Ладно, пока просто затащу все в функ-ции, которые вызываются потом кликами. Спасибо.
oneguy,
Эм. И что?

Aetae 01.08.2012 22:47

Накрайняк можно и извратиться:

function uuu() {
	var fff = document.querySelectorAll('#allvariants > div');
	(uuu = function(){ alert(fff[1].innerHTML) })()
}

..но в обычном случае не нужно.=)

Deff 01.08.2012 23:00

oneguy,
Захотелось именно второй (*у мну тож мания - не тестить первые

PashPP 01.08.2012 23:01

ВСем большое спасибо. Еще раз убедился, что туплю на ерунде. Хотя, для меня эта ерунда была не так и очевидна.

Чтоб не создавать еще одну тему, спрошу тут.
Как вернуть первоначальный стиль, если использовать elem.style.backgrondColor="red" , например.
Я додумался, конечно, вызвать еще раз elem.style.backgrondColor="green" с учетом, что первоначальный фон был зеленый. Но как вернуть без указания точного параметра, а просто "верни как было до тебя".

Aetae 01.08.2012 23:05

если стиль был прописан в самом элементе то никак, ибо его ты и менял, если же в css то просто ="" .


Часовой пояс GMT +3, время: 14:29.