Функция JavaScript, создающая CSS: зависание не работает правильно [дублировать]

Расширение MySQL является самым старым из трех и было оригинальным способом, которым разработчики использовали для связи с MySQL. Это расширение теперь устарело в пользу других двух альтернатив из-за улучшений, сделанных в более новых версиях как PHP, так и MySQL.

  • MySQLi является улучшенным расширением для работы с базами данных MySQL. Он использует функции, доступные в более новых версиях сервера MySQL, предоставляет разработчику как функционально-ориентированный, так и объектно-ориентированный интерфейс, а также делает несколько других отличных вещей.
  • PDO предлагает API, который объединяет большинство функций, которые ранее были распространены через основные расширения доступа к базе данных, то есть MySQL, PostgreSQL, SQLite, MSSQL и т. д. Интерфейс предоставляет объекты высокого уровня для программиста для работы с подключениями к базе данных , запросы и результирующие наборы, а драйверы низкого уровня выполняют связь и обработку ресурсов с сервером базы данных. Много дискуссий и работы идет в PDO, и это считается подходящим способом работы с базами данных в современном профессиональном коде.

4
задан user2219915 3 May 2013 в 20:06
поделиться

4 ответа

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

CSS:

#test {color: blue;}
#test.active {color:red;}
#test:hover {color:green;}

JavaScript:

function change() {
   document.getElementById("test").className='active';
}

демонстрация

6
ответ дан Denys Séguret 27 August 2018 в 04:06
поделиться

Вы можете использовать !important JSFIDDLE

#test:hover {color:green!important;}
-1
ответ дан Anoop 27 August 2018 в 04:06
поделиться

Использовать классы!

#test {color: blue;}
#test:hover, #test.foo:hover {color:green;}
#test.foo { color : #cc0000 }

Основной JavaScript:

function change() {document.getElementById("test").className = "foo"; };

Конечно, вам нужно было бы переключать классы.

2
ответ дан epascarello 27 August 2018 в 04:06
поделиться

Проблема, с которой вы сталкиваетесь, - это понятие специфичности в css. Специфичность контролирует, какие правила применяются и в каком порядке. Поскольку javascript обновляет элемент стиля, он переопределяет специфику и стирает все предыдущие правила, касающиеся стиля цвета. поэтому вместо этого добавьте класс, например, «нажал» на элемент. где щелкнул ваш новый цвет

.clicked{color:red}

function change() {document.getElementById("test").class += " clicked"};

Это сделает то, что вам нужно.

0
ответ дан mikeswright49 27 August 2018 в 04:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: