$ .clone и .cloneNode - PullRequest
       20

$ .clone и .cloneNode

5 голосов
/ 28 февраля 2012

Я немного смущен разницей между jQuery $.clone и необработанным свойством .cloneNode.

Если я делаю

$('blah').cloneNode(true) это создаст глобальный объект за пределами пространства jQuery.

Если я использую

$('blah').clone(true) это создаст объект jQuery внутри пространства jQuery, но скопирует все, включая события?

Если я использую jQuery, я должен придерживаться .clone и если я изменю свой код с .cloneNode, будет ли какой-нибудь эффект?

1 Ответ

11 голосов
/ 28 февраля 2012

Несколько вещей.Вы звоните cloneNode на this, а не $(this).Во-вторых, с cloneNode вы не можете клонировать события, связанные с исходным узлом, тогда как с clone в jQuery он клонирует данные и (если установлен первый флаг).Установка второго флага clone клонирует дочерние элементы исходного элемента и их элементы.

Используйте соответственно в соответствии с вашими потребностями.

...