Search
Write a publication
Pull to refresh

Comments 16

> «но jQuery прекратил поддержку :nth-of-type. Слышал, что из за редкого использования, но мне это кажется странным»

У Jquery есть более универсальные средства, которые в частности реализуют и данный функционал.

чтоб быть более точным, jQuery использует движок Sizzle, а тот в свою очередь не поддерживает nth-of-type.
в jQuery это можно реализовать как $('p:odd') для четных и $('p:even') для нечетных.
Jquery очень гибок.
Например:
$('p').eq(2) // выбрать второй параграф.
кстати третий.
$('p').eq(1) Вот это второй
А если через три надо выбрать? Или начиная со второго, например?
Я вообще имел в виду через три начиная со второго, но так тоже можно :)
а если каждый третий то уже надо ухищряться, например так
$('p').each(function(i){
if(i%3==0) return;
///делаем что хотим
)}
А вообще, что селектор :nth-of-type подразумевает под type? Имя тега? Получается, что селектор .class:nth-of-type(2) бессмысленный, потому что не задает какой именно нужно тип выбрать? Или же в данном случае типом будет считаться .class?
Судя по описанию w3c, под type понимается элемент, тоесть тег.
www.w3.org/TR/css3-selectors/#nth-of-type-pseudo
Но проверил, в случае описаном вами firefox, safari и chrome выберут второй элемент, если у него есть класс .class
Селекторы всегда относятся к тому элементу, который задан до них. В случае p:nth-of-type(x) это будет тег P, в случае table .info:nth-of-type(x) будет любой тег с классом .info внутри таблиц.
К сожалению ни nth-child, ни nth-of-type с классами и атрибутами не работают — только элементы.
Т.е. если у вас часть строк таблицы скрыты, то нельзя правильно сделать зебру средствами CSS для оставшихся видимых строк с определённым назначенным классом.
Спасибо за перевод!

(А Между тем у меня были ситуации, когда «:nth-child» не работал «по странным обстоятельствам» :-).
Sign up to leave a comment.

Articles