我试图将一大块HTML插入到div中.我想看看简单的JavaScript方式是否比使用jQuery更快.不幸的是,我忘记了如何以"旧"的方式做到这一点.:P
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%
我想这就是你想要的:
document.getElementById('tag-id').innerHTML = '';
- html data
请记住,使用IE时,innerHTML不能用于所有类型的标记.(例如表格元素)
使用JQuery会处理浏览器的不一致性.使用项目中包含的jquery库只需编写:
$('#yourDivName').html('yourtHTML');
您也可以考虑使用:
$('#yourDivName').append('yourtHTML');
这会将您的图库添加为所选div中的最后一项.要么:
$('#yourDivName').prepend('yourtHTML');
这会将其添加为所选div中的第一项.
有关这些函数,请参阅JQuery文档:
http://api.jquery.com/append/
http://api.jquery.com/prepend/
我使用"+"(加号)将div插入html:
document.getElementById('idParent').innerHTML += '
希望这有帮助.
试试insertAdjacentHTML
let html = "Hello World !!!"
function A() {
container.innerHTML = `A: ${html}`;
}
function B() {
container.innerHTML += `B: ${html}`;
}
function C() {
container.insertAdjacentHTML('beforeend', `C: ${html}`);
}
function D() {
$('#container').append(`D: ${html}`);
}
function E() {
let d = document.createElement("div");
d.innerHTML = `E: ${html}`;
d.id = 'E_oiio';
container.appendChild(d);
}
function F() {
let dm = document.createElement("div");
dm.id = "F_oiio";
dm.appendChild(document.createTextNode("F: "));
let d = document.createElement("div");
d.classList.add('box');
d.appendChild(document.createTextNode("Hello "));
let s = document.createElement("span");
s.classList.add('msg');
s.appendChild(document.createTextNode("World"));
d.appendChild(s);
d.appendChild(document.createTextNode(" !!!"));
dm.appendChild( d );
container.appendChild(dm);
}
A();
B();
C();
D();
E();
F();
.warr { color: red } .msg { color: blue } .box {display: inline}
许多行可能看起来像这样.这里的html只是样本.
var div = document.createElement("div"); div.innerHTML = '\n' + '\n' + '\n' + '\n' + '1 / 3\n' + '\n' + 'Caption Text\n' + '\n' + '\n' + '2 / 3\n' + '\n' + 'Caption Two\n' + '\n' + '\n' + '❮\n' + '❯\n' + '3 / 3\n' + '\n' + 'Caption Three\n' + '
\n' + '\n' + ' \n' + ' \n' + ' \n' + '\n'; document.body.appendChild(div);