Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Изменение стиля у label (https://javascript.ru/forum/events/28107-izmenenie-stilya-u-label.html)

kliver 07.05.2012 21:58

Изменение стиля у label
 
Здавствуйте,
есть такая задачка: изменять стиль текста у label чекбоксов программно.
Изначально они такие.
<input type='checkbox' id="check1" name="file1" value="61"/><label for="check1" style="color:blue">file1</label><br>

Хочу что бы стали такие
<input type='checkbox' id="check1" name="file1" value="61"/><label for="check1" style="color:black">file1</label><br>


Дак вот я не знаю как обратиться к стилю лейбла.
function accepting()
			{
				for(var k=0;k<id.length;k++)
				{
					document.getElementById("check"+id[k]).?????
				}
			}

Раед 07.05.2012 22:02

function accepting()
{
for(var k=0;k<id.length;k++)
{
document.getElementById("check"+id[k]).nextSibling
}
}

kliver 07.05.2012 22:07

То есть код будет такой?

function accepting()
{
for(var k=0;k<id.length;k++)
{
document.getElementById("check"+id[k]).nextSibling.style.color='black';
}
}

kliver 07.05.2012 22:20

Что-то ничего у меня не получается. Помогите нейти ошибку.
Функция
function accepting()
			{
				for(var k=1;k<id.length;k++)
				{
					alert(k);
					document.getElementById("check"+id[k]).nextSibling.style.color='green';
				}
			}

Вызов
<input type="button" onclick="accepting()" id="accept" value="Принять">

Чекбоксы
<input type='checkbox' id="check1" name="file1" value="61"/><label for="check1" style="color:blue">file1</label><br>
<input type='checkbox' id="check2" name="file2" value="62"/><label for="check2" style="color:blue">file2</label><br>
<input type='checkbox' id="check3" name="file3" value="63"/><label for="check3" style="color:blue">file3</label><br>
<input type='checkbox' id="check4" name="file4" value="64"/><label for="check4" style="color:blue">file4</label><br>
<input type='checkbox' id="check5" name="file5" value="65"/><label for="check5" >file5</label><br>


ОгнеЖук ошибок не выдает. Но цвета все равно не меняются.

bot87 07.05.2012 22:55

что такое id?

kliver 08.05.2012 14:50

id это массив содержащий номера id чекбоксов. Заполняется в другой функции. Но вот беда, пытаюсь вывести его в алерт в функции accepting() и ничего не выводится. А ведь если выводить в функции в которой он заполняется то все нормально. Даже попробовал обьявить глобально еще один массив и присвоил ему значение массива id, но все равно он оказывается пустым в функции accepting(). Почему так?

Раед 08.05.2012 16:07

kliver,
У вас проблема с областями видимости. В той функции где заполняется массив, нужно писать не
var id = ...
, a просто
id = ...

kliver 08.05.2012 16:17

Теперь огнежук пишет что переменная не определена. До этого просто в алерте было undifined.
Вот пример того как я делаю.
var test;
function one()
{
test=9;
}
function two()
{
alert(test);
}

В чем моя ошибка?

Раед 08.05.2012 16:33

kliver,
В какком порядке функции вызываете?

kliver 08.05.2012 16:35

Они к разным кнопкам привязаны.
Может в этом ошибка?
Могу полный листинг выложить. Но там много лишнего кода.


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