Как использовать jQuery для изменения цвета фона текстового поля?
Как использовать jQuery для изменения цвета фона текстового поля?
comment
См. stackoverflow.com/questions/18445711/
- person liftarn   schedule 12.03.2014
Ответы (3)
Лучшей практикой является отделение пользовательского интерфейса от логики, в вашем случае:
$("#textboxid").addClass("aClass");
Если вам это действительно нужно, то сделайте следующее:
$("#textboxid").css({"background-color": "color"});
Замените #textboxid
на нужный селектор и закрасьте нужным цветом.
Обратите внимание, что следующее делает то же самое для одного свойства:
$("#textboxid").css("background-color", "color");
person
Dykam
schedule
03.08.2009
Нет необходимости в жестко закодированном представлении в js. Используйте Css для стиля, js для поведения.
- person redsquare; 03.08.2009
Лучше добавить имя класса во входные данные, а не стили жесткого кодирования в ваш js. Стили представления должны находиться в css, а не в js.
$('#inputId').addClass('someCssClass');
person
redsquare
schedule
03.08.2009
И это также то, что вы делаете сейчас. Я бы сказал, что вы должны добавить семантический класс, а не backgroundRed, я считаю это антипаттерном. И, возможно, код здесь — это код пользовательского интерфейса.
- person Dykam; 03.08.2009
это был просто образец....конечно, у вас не должно быть классов для каждого цвета. ну и дела
- person redsquare; 03.08.2009
Вы по-прежнему не должны жестко кодировать код в js. Что происходит, когда он хочет границу, а затем другой шрифт. Закончите с уродливым беспорядком js.
- person redsquare; 03.08.2009
Ах, вы изменили пример. А вот для UI JS может подойти.
- person Dykam; 03.08.2009
js для поведения, а не для добавления css. Зачем усложнять этот addClass?
- person redsquare; 03.08.2009
Почему смысловая часть правильная? так что
addClass('highlight');
будет подходящей вещью для javascript, а затем таблица стилей укажет, как это выглядит. Теперь вы можете заменить выделение любым случайным описанием, но функция та же.
- person DGM; 03.08.2009
Но ваш первоначальный ответ не показал ни одной из этих мыслей. Теперь ты эксперт ;)
- person redsquare; 03.08.2009
А еще лучше не используйте jQuery. Я предполагаю, что вы хотите сделать это при фокусировке или размытии, поэтому вы можете сделать:
#textboxid {background-color:defaultcolor;}
#textboxid:focus {background-color:selectedcolor;}
person
Andrew
schedule
24.08.2012