var txt1="<p>Text.</p>"; // Create element with HTML
// actually: $('<p>Text.</p>');
В этом случае JQuery создаст <div>
элемент, а затем установить его свойство .innerHTML
в HTML строку вы прошли. Это не особенно быстро.
var txt2=$("<p></p>").text("Text."); // Create with jQuery
Это намного быстрее, потому что JQuery оптимизирован для отображения этого прямо createElement()
и вы используете .text()
так не требуется никакого дополнительного разбора.
var txt3=document.createElement("p"); // Create with DOM
txt3.innerHTML="Text.";
Это уклоняется некоторые части двух подходов и должны быть быстрее, но не потому, что вы используете .innerHTML
, который должен получить разобран первым.
Самый быстрый бы это:
var txt4 = document.createElement('p');
txt4.textContent = 'Text.';
Proof
Обратите внимание, что, когда я говорю быстро, это основано на результатах данного конкретного теста; как правило, вы не дойдете до точки, где это имеет значение. Кроме того, родная версия намного быстрее, что отдельный тест должен был бы сделать, чтобы получить более точные результаты для других тестов :)
Помимо # 2, который довольно неэффективен, я думаю, что граница между # 1 и # 3 будет очень маленькой; в реальном коде, я бы использовал то, что лучше всего. В этом случае это будет # 1. – icktoofay
@dystroy нет, я просто хочу знать, какой подход прав и быстрее для исполнения – nakul
@icktoofay спасибо за ваш ответ – nakul