2013-07-09 2 views
3

Итак, я слышу фразу «shadow DOM» много сейчас. Это то же самое, что и отдельный элемент DOM?Shadow DOM vs Отдельные элементы

Если создать DOM элемент вроде этого:

var $pizza = $('<aside>', { 
    'class': 'pizza' 
}); 

$ пицца отсоединяется. Я могу прикрепить его, используя attach, append или html возможно.

Является ли это функционально таким же, как концепция тени DOM, но с некоторыми другими оговорками? Каковы различия?

ответ

1

Спецификация Shadow DOM была реализована в Chrome совсем недавно (25). Shadow DOM - это спецификация, охватываемая большой группой спецификаций «HTML5», известных как веб-компоненты. Веб-компоненты существенно позволяют разрабатывать инкапсулированные виджеты, не прибегая к iframes. Тень DOM - большая часть этого. Уже есть аккуратный полиполк для этой спецификации, включенной среди других подобных полиполков в совершенно новую библиотеку Polymer от Google. Посмотрите на http://glazkov.com/2011/01/14/what-the-heck-is-shadow-dom/ для более подробной информации по этому вопросу. Обратите внимание, что ссылка на статью была написана до того, как спецификация была реализована в любом месте.

Обращение к вашему вопросу напрямую, отдельные элементы и теневые DOM - не те же понятия.

+2

Чтобы добавить к тому, что сказал Рэй, они очень разные. Shadow DOM предоставляет вам инструменты для инкапсуляции разметки и скрытия их от пользователей. Это то, что элементы, такие как '

+0

Прохладный! Я соглашусь с этим. Прочитав немного, я также нашел эту статью полезной: http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom/ Это напоминает мне гибкие/флеш-пользовательские компоненты в тот же день. Другие библиотеки имеют схожие понятия. Круто! – Parris

Смежные вопросы