Как вы меняете цвет фона элемента <input>с помощью JavaScript - PullRequest
2 голосов
/ 23 октября 2010

У меня есть элемент <input>, для которого я хочу изменить цвет фона.Код, который я сейчас использую, таков (но он не работает):

var allBlanksLoc = document.getElementById('text');
var allBlanks = allBlanksLoc.getElementsByTagName('input');

for(i=0; i<allBlanks.length; i++) {
var currentBlank = allBlanks[i];
var wordNum = blanks[i];
var blankWord = text[wordNum];
var usrAnswer = currentBlank.value;

if (usrAnswer != blankWord) {
currentBlank.style.backgroundColor = "red";
}
}

От третьей до последней строки самая важная

Обновление:

Я исправилCamelCase на нем, но он все еще не работает.Есть идеи об ошибках?

Полный код здесь: http://jsbin.com/imolo3/edit

Ответы [ 4 ]

3 голосов
/ 23 октября 2010

Дело важно. Что вам нужно, это

document.getElementById('test').style.backgroundColor='red';

Тем не менее

было бы лучше использовать правило css и JavaScript только для добавления класса к элементу.

Правило CSS

input.invalid {
    background-color: red;
}

Javascript

element.className = 'invalid';
2 голосов
/ 23 октября 2010

Это должно быть backgroundColor - обратите внимание на заглавную букву C, JavaScript чувствителен к регистру.

1 голос
/ 23 октября 2010

Вы уверены, что этот скрипт выполняется в нужное время? Если он запускается до того, как страница полностью сформирована, соответствующие элементы могут отсутствовать.

0 голосов
/ 23 октября 2010

Так что не повторяйте решения, предложенные другими пользователями.

Я лично использую JQuery (и на этом заканчивается любой javascripter, в общем, для проблем совместимости браузера), и он будет:

$(currentBlank).css("background-color","red");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...