Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Селектор по родителю (https://javascript.ru/forum/offtopic/24791-selektor-po-roditelyu.html)

FINoM 14.01.2012 08:01

Селектор по родителю
 
Прочел статью: http://web-standards.ru/articles/parent-selector/
Наверное, мне нельзя читать такое на ночь (6 утра, хаха), я нифига не понял.
Вот, допустим, у нас есть два селектора:
1. div span
2. div:has(span)
В обоих случаях, в дереве элементов ищется span, затем div. В первом случае перерисовывается span, во втором div. По сути, производительность одинаковая, поэтому я не понял, что хотел донести автор.

Pavel M. 14.01.2012 14:47

автор писал, что браузер присваивает стили элементам по мере их загрузки, поэтому, например

div span {color: red;} проще в реализации:
загрузился в div потомок, проверили, если это span - присвоили ему красный цвет, отобразили

а если div:has(span) { color: red; }, то
грузятся потомки в div, выводятся одним цветом,
а потом попадается span
и приходится всех потомков div (их может быть много) перекрашивать

FINoM 14.01.2012 16:26

И?
Селектор по потомку может быть таким же долгим:
<div> <p> <span></span> </p> </div>
div p {color: red}
Приходи тся перерисовывать всё в p.

<div> <span></span> </div>
div:has(span) {color: red}

Производительность зависит только от структуры кода и ни от чего более, что, собственно, не ново.

Pavel M. 16.01.2012 10:36

Цитата:

Сообщение от FINoM
Приходи тся перерисовывать всё в p.

не придется,
при появлении p, сразу понятно, что p и его потомков надо отображать красным


Часовой пояс GMT +3, время: 20:34.