Подсветка строк таблицы - PullRequest
       2

Подсветка строк таблицы

1 голос
/ 15 февраля 2012

Обыскивал сеть для «лучшего» способа подсветки строк таблицы.

Кажется, что две основные альтернативы:

1 Чистый CSS: tr:hover

2 Css + Jquery:

$("table").delegate('td','mouseover mouseleave', function(e) {
  if (e.type == 'mouseover') {
    $(this).parent().addClass("tr-hover");
  }
  else {
    $(this).parent().removeClass("tr-hover");
  }
});

Я понятия не имею, что считается лучшей практикой в ​​наши дни. Насколько я могу убедиться, это единственный IE7, который не работает должным образом с опцией Pure CSS.

Или, есть ли другие варианты, которые я должен рассмотреть?

1 Ответ

4 голосов
/ 15 февраля 2012

Используйте метод CSS :hover. Он также работает в IE7 +, при условии, что установлен DOCTYPE. Это утверждение подкреплено этой статьей MSDN .

... улучшить соответствие CSS2.1. Вся эта работа (за исключением прозрачных PNG) была сделана с помощью переключателя <! DOCTYPE> только , так как все изменения требовали обновления поведения, чтобы быть в большей степени, чем спецификация CSS определяет.
, ,
Мы также расширили наши существующие реализации для соответствия спецификациям W3C:

  • Включить: навести на все элементы, а не только на <a>

Согласно личным тестам (и по этому источнику ), соответствующий стандартам режим не активирован , когда:

  • DOCTYPE не установлен
    или когда установлен DOCTYPE, и:
  • Указан HTML без версии.
  • Указана версия HTML ниже 4.x (включая несуществующие более низкие версии, такие как 3.99)
  • HTML 4 указывается (вместо 4.x) без URL. http:// также допустимо, другие протоколы недействительны.
  • HTML 4.x Transitional или HTML 4.x Frameset без часть URL.

Он активируется со всеми другими DOCTYPE, включая XHTML, XML и неизвестные.

<ч />

Плюсы для CSS:

  • Это намного эффективнее, чем jQuery: слушатели событий не участвуют, поведение определяется сразу после определения правила CSS (jQuery требует библиотеку и вызов функции) .
  • Также работает, когда JavaScript отключен.

Плюсы для jQuery:

  • Это также работает в IE6-
    (эта разметка не так критична, поэтому она не будет иметь большого веса. Кто, кстати, использует IE6?).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...