当前位置:  开发笔记 > 编程语言 > 正文

将HTML插入div

如何解决《将HTML插入div》经验,为你挑选了5个好方法。

我试图将一大块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%



1> Nathan..:

我想这就是你想要的:

document.getElementById('tag-id').innerHTML = '
  1. html data
';

请记住,使用IE时,innerHTML不能用于所有类型的标记.(例如表格元素)


+1提及IE兼容性,希望大家都这样做!

2> designerdre1..:

使用JQuery会处理浏览器的不一致性.使用项目中包含的jquery库只需编写:

$('#yourDivName').html('yourtHTML');

您也可以考虑使用:

$('#yourDivName').append('yourtHTML');

这会将您的图库添加为所选div中的最后一项.要么:

$('#yourDivName').prepend('yourtHTML');

这会将其添加为所选div中的第一项.

有关这些函数,请参阅JQuery文档:

http://api.jquery.com/append/

http://api.jquery.com/prepend/


OP专门要求普通的javascript,但这对我很有帮助,所以我仍然认为它很有用.

3> Yosep Tito..:

我使用"+"(加号)将div插入html:

document.getElementById('idParent').innerHTML += '

content html
';

希望这有帮助.


感谢+ =回答,这让我很烦恼.

4> Kamil Kiełcz..:

试试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}


5> atom..:

许多行可能看起来像这样.这里的html只是样本.

var div = document.createElement("div");

div.innerHTML =
    '
\n' + '
\n' + '
1 / 3
\n' + '\n' + '
Caption Text
\n' + '
\n' + '
\n' + '
2 / 3
\n' + '\n' + '
Caption Two
\n' + '
\n' + '
\n' + '
3 / 3
\n' + '\n' + '
Caption Three
\n' + '
\n' + '\n' + '\n' + '
\n' + '
\n' + '
\n' + ' \n' + ' \n' + ' \n' + '
\n'; document.body.appendChild(div);

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有