В JQuery, я знаю, что мы можем заменить HTML объекта с помощью .html(html code here)
, и мы также можем использовать один из методов (append
, appendTo
, prepend
, и т.д. .) для достижения той же цели .html(...)
.Два способа построения HTML - .html() и .append()
Но в чем разница между этими двумя способами?
Обновлено
Я думаю, что я должен разместить свой код, чтобы сделать мой вопрос более четко, пожалуйста, просмотрите его.
$('<a>close</a>').click(function() {
alert("test");
}).appendTo($('.widget-head'));
var sHtml = $('.widget-head').wrap('<p>').parent().html();
$(currentTmpContainer).html(resultHtml);
(Это только фрагмент кода. Я думаю, что вы бы хорошо понимаю это. Спасибо.)
Наконец, я обнаружил, что .click
не работает в моем примере. Я думаю, причина в том, что я использую .html()
вместо .append()
. Правильно ли это? Благодарю.
Да, '.html()' не будет копировать события JQuery, если вы хотите скопировать, вы должны использовать '.clone (истина)', если вы хотите заменить, используйте 'append'. – gdoron
@gdoron Спасибо, '.append' заменяет оригинальный html? –
Если вы берете существующий узел и добавляете его в другое место, он будет «перемещать» его, а не клонировать его. – gdoron