Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обращение к элементу и изменение его свойств (https://javascript.ru/forum/misc/40111-obrashhenie-k-ehlementu-i-izmenenie-ego-svojjstv.html)

Sveta 24.07.2013 11:00

Обращение к элементу и изменение его свойств
 
Доброго всем дня!
Засела с, казалось бы, пустяковой задачей (((
Нужна функция, заставляющая текстовое поле "помигать" несколько раз - цвет фона поменять.
текстовых полей много и id у них нет, в функцию передается имя (переменная nm), имена уникальны.
код такой:
var intrvl=0; 
	for(var nTimes=0;nTimes<5;nTimes++){  
	     intrvl += 200;		
	     setTimeout("myId.style.backgroundColor='#000000'",intrvl);
	     intrvl += 200;	
         setTimeout("myId.style.backgroundColor='#ffffff'",intrvl);
	}

где myId это id конкретного поля - просто одному присвоила для примера. Так все работает.
Когда пытаюсь обратиться по имени, то не работает.
Попытки были следующие:
setTimeout("$('input[name='"+nm+"']').style.backgroundColor='#000000'",intrvl); //jquery подключена)))  а $('input[name='"+nm+"']') в отдельности обращается к элементу верно
также пробовала document.getElementByName("+nm+")

в общем пробовала - ни в какую...работает только с id, причем у меня получилось только если id написана конкретно - а если id в переменной то уже не получалось...подскажите, пожалуйста, в чем ошибка??

ОлегА 24.07.2013 11:09

а вообще лучше так делать

var nm = 'input_name';
setTimeout(function(){
    $('input[name='+nm+']').css('background-color', '#000000') 
},intrvl );

Sveta 24.07.2013 11:18

Спасибо большое!) за пять минут решили то, с чем я мучилась два часа))))


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