146 votes

L'insertion de code HTML dans un div

Je suis en train d'essayer d'insérer un morceau de code HTML dans une balise div. Je veux voir si la plaine façon JavaScript est plus rapide que l'utilisation de jQuery. Malheureusement, j'ai oublié comment faire "l'ancienne" façon. :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);
}

ce que je fais mal là les gars?

edit:
Quelqu'un a demandé qui est plus rapide, jquery ou de la plaine js j'ai donc écrit un essai:
http://jsperf.com/html-insertion-js-vs-jquery

plaine js est 10% plus rapide

220voto

Nathan Reed Points 3192

Je pense que c'est ce que vous voulez:

document.getElementById('tag-id').innerHTML = '<ol><li>html data</li></ol>';

Gardez à l'esprit que innerHTML n'est pas accessible pour tous les types de balises lors de l'utilisation de IE. (les éléments de la table par exemple)

59voto

designerdre101 Points 168

À l'aide de JQuery serait de prendre soin de ce navigateur, de l'incohérence. Avec la bibliothèque jquery inclus dans votre projet, il suffit d'écrire:

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

Vous pouvez également envisager l'utilisation de:

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

Cela va ajouter à votre galerie est le dernier élément dans la div. Ou:

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

Cela permettra de l'ajouter en tant que le premier élément dans la div.

Voir le JQuery docs pour ces fonctions:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X