Как манипулирование JS DOM влияет на соответствие правил CSS? - PullRequest
0 голосов
/ 18 ноября 2010

Вот настройка: динамически генерирует контент для ряда элементов, которые должны отображаться вместе в одном элементе div. Компоновка: внешний div (контейнер для всего), несколько внутренних div (содержимое различается) и div внутри каждого другого внутреннего div вместе с некоторым текстом.

Внешний div является частью страницы с самого начала, и js получает его по id. Затем генерируется каждый внутренний div и его содержимое, а затем добавляется к внешнему div. Промыть, повторить.

Внешний div имеет класс, который соответствует ему в css. Внутренний div соответствует:

.outerdiv div{...

сейчас ... на самом деле происходит следующее: и внутренний div, и div содержимого соответствуют правилу div div external, несмотря на то, что одно из них явно (проверено трижды в инспекторе, Firefox AND Chrome) дочерним по отношению к внутреннему div не внешний.

У меня есть это в двух разных местах, так что я уверен, что я не сумасшедший. Может кто-нибудь сказать мне, как правила CSS оцениваются, когда происходят манипуляции с DOM? (или куда деться?)

Спасибо, -Conrad

1 Ответ

5 голосов
/ 18 ноября 2010

Селектор .outerdiv div выбирает любой div в пределах .outerdiv, а не только прямые дочерние элементы.Чтобы выбрать прямого дочернего элемента, есть селектор > (который, однако, не поддерживается в IE6).

Что касается последнего вопроса, правила CSS всегда пересматриваются, т. Е.даже при манипулировании DOM элементы всегда будут стилизованы в соответствии с правилами CSS и не «переносят» правила через манипуляции с DOM или что-либо подобное.

...