Использование Nth - CSS VS Jquery - PullRequest
       16

Использование Nth - CSS VS Jquery

0 голосов
/ 04 октября 2011

Есть ли причина, по которой кто-то решил бы использовать n-ю функцию только в CSS, а не применять ее через jquery, где она более совместима с IE.

Должно ли это быть сделано в jquery для начала и никогда не использоваться в таблице стилей?

Надеюсь, это имеет смысл, и кто-то может помочь.

Приветствия

Ответы [ 5 ]

3 голосов
/ 04 октября 2011

Нет. Не все используют свой браузер с включенным Javascript. Кроме того, применение стилей с помощью Javascript выполняется медленнее, чем при использовании CSS, поскольку для применения стиля требуется сценарий.

Тем не менее, было бы неплохо использовать jQuery для обеспечения совместимости nth-child с браузерами, которые его не поддерживают.

1 голос
/ 04 октября 2011

Вы можете использовать :nth-child только в своем CSS, когда вы просто не заботитесь о совместимости со старыми версиями IE.

Многим сайтам просто не нужно работать на 100% идеально в старых версиях IE, особенно если учесть, что :nth-child часто используется для глазных конфет, таких как зебра , что не является жизненно важным.

Использовать простой CSS быстрее, чем делать это с помощью jQuery, хотя разница в скорости невелика: в браузерах, которые не поддерживают :nth-child, Sizzle должен эмулировать его (медленно), и нет никакого способа сделать это. В браузерах, которые поддерживают :nth-child, он идет прямо к querySelectorAll, что очень быстро.

Selectivizr - это еще один выбор - он работает только в более старых версиях IE и избавляет от необходимости вручную писать реальный код jQuery ($('..:nth-child(2n)').addClass(..);), поэтому при разработке все это Должна быть написана версия CSS.

1 голос
/ 04 октября 2011

Причина, по которой вы сейчас используете jQuery / javascript, заключается в том, что не все браузеры поддерживают селектор nth css.

Например, с :nth-child ... IE8 не поддерживается <= поддержка: </p>

http://reference.sitepoint.com/css/pseudoclass-nthchild

Однако я бы добавил его в css для будущего использования и избавился бы от сценариев, как только на борту появилось определенное количество браузеров.

0 голосов
/ 04 октября 2011

Я, вероятно, буду использовать оба - применить его с помощью правила CSS (предпочтительный способ), а также с помощью jquery (выборочно для несовместимого браузера). Надеемся, что с ростом соответствия стандартам решение для сценариев не потребуется.

0 голосов
/ 04 октября 2011

CSS быстрее для этих операций. Проще говоря, он просто анализируется и добавляется к элементам, но если вы используете для этого jQuery, есть дополнительный JS для анализа, выполнения, некоторых циклов, вызовов функций ... Не то, чтобы в небольших таблицах была заметная разница во времени, но все же.

Это способ меньше, чтобы сделать это также с CSS. Если вам действительно нужна поддержка IE, вы всегда можете проверить, является ли используемый браузер IE (я думаю, что jq имеет поддержку для этого?), А затем вернуться к js. (что исключает мой пункт выше, но все же лучше использовать css.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...