Я пытаюсь вставить кусок HTML в div. Я хочу узнать, работает ли простой JavaScript быстрее, чем использование jQuery. К сожалению, я забыл, как это сделать «по-старому». :П
var test2 = function(){
var cb = function(html){
var t1 = document.getElementById("test2");
var d = document.createElement("div");
d.id ="oiio";
d.innerHtml = html;
t1.appendChild(d);
console.timeEnd("load data with javascript");
};
console.time("load data with javascript");
$.get("test1.html", cb);
}
что я здесь делаю не так, ребята?
изменить :
кто-то спросил, что быстрее, jquery или простой js, поэтому я написал тест:
http://jsperf.com/html-insertion-js-vs-jquery
простой js на 10% быстрее
javascript
mkoryak
источник
источник
Ответы:
Думаю, это то, что вам нужно:
Имейте в виду, что innerHTML доступен не для всех типов тегов при использовании IE. (например, элементы таблицы)
источник
Использование JQuery устранит эту несогласованность в браузере. С библиотекой jquery, включенной в ваш проект, просто напишите:
Вы также можете использовать:
Это добавит вашу галерею в качестве последнего элемента в выбранном div. Или:
Это добавит его как первый элемент в выбранном div.
См. Документацию JQuery для этих функций:
источник
Я использую "+" (плюс), чтобы вставить div в html:
document.getElementById('idParent').innerHTML += '<div id="idChild"> content html </div>';
Надеюсь на эту помощь.
источник
В качестве альтернативы вы можете использовать insertAdjacentHTML - однако я копаюсь и делаю некоторые тесты производительности - (2019.09.13, пятница) MacOs High Sierra 10.13.6 в Chrome 76.0.3809 (64-разрядная версия), Safari 12.1.2 (13604.5.6), Firefox 69.0.0 (64-разрядная версия)). Тест F предназначен только для справки - он выходит за рамки вопроса, потому что нам нужно динамически вставлять html - но в F я делаю это «вручную» (статическим способом) - теоретически (насколько я знаю) это должен быть самый быстрый способ вставки новых элементов HTML.
РЕЗЮМЕ
innerHTML =
+=
innerHTML +=...
является самым медленным во всех браузерах (Chrome 95 оп / сек, Firefox 88 оп / сек, Sfari 84 оп / сек)Более подробная информация о том, почему
innerHTML =
это гораздо быстрее , чемinnerHTML +=
это здесь . Вы можете выполнить тест на вашем компьютере / браузере ЗДЕСЬПоказать фрагмент кода
источник
И многие строки могут выглядеть так. HTML здесь только образец.
источник