Créer un document DOM à partir d'une chaîne, sans JQuery
Nous sommes à la recherche de moyens pour créer un document DOM en javascript à partir d'une chaîne, mais sans l'aide de Jquery.
Est-il un moyen de le faire? [Je suppose que oui, puisque Jquery peut le faire!]
Pour les curieux, nous ne pouvons pas utiliser Jquery, becase nous faisons cela dans le contexte d'une application Chrome contenu du script, et à l'aide de Jquery voudrais juste faire de notre contenu script trop lourd.
source d'informationauteur Julien Genestoux | 2012-03-07
Vous devez vous connecter pour publier un commentaire.
Dans le cas où vous êtes toujours à la recherche d'une réponse, et pour quelqu'un d'autre à venir à travers elle, j'ai juste essayé de faire la même chose moi-même. Il semble que vous voulez être à la recherche à du javascript DOMImplementation:
http://reference.sitepoint.com/javascript/DOMImplementation
Il existe peu de références à la compatibilité aussi bien ici, mais il est assez bien pris en charge.
En essence, pour créer un nouveau document à manipuler, vous voulez créer un nouveau Doctype objet (si vous allez à la sortie de certaines normes basées sur des trucs) puis créez un nouveau Document à l'aide de la nouvellement créée Doctype variable.
Il y a plusieurs options à mettre dans le doctype et le document, mais si vous êtes à la création d'un document HTML5, il semble que vous voulez laisser la plupart d'entre eux comme des chaînes vides.
Exemple (Nouveau HTML5 Document DOM):
Le nouveau Document ressemble maintenant à ceci:
Exemple (Nouveau XHTML Document DOM):
Donc c'est à vous de remplir le reste. Vous pouvez le faire aussi simplement que l'évolution des
Ou aller avec le plus de rigueur:
Tous les vôtres.
https://developer.mozilla.org/en-US/docs/Web/API/DOMParser
(résultant
doc
variable est un Objet documentFragment).createDocumentFragment
peut vous aider.https://developer.mozilla.org/En/DOM/DocumentFragment
Navigateurs toujours créer un document par eux-mêmes avec une page vide (about:blank).
Peut-être, en application Chrome il y a quelques fonctions disponibles (comme XUL dans FF), mais il n'y a pas une telle fonction ordinaire javascript.
HTML serait comme ceci:
JS devrait ressembler à ceci:
J'ai essayé d'autres manières d'ici, mais là où des problèmes lors de la création des éléments de script tels que le Chrome refusant de charger le réel .js fichier pointé par l'attribut src. Ci-dessous est ce qui fonctionne le mieux pour moi.
C'est jusqu'à 3x plus rapide que celui de jQuery et de 3,5 x plus rapide que l'utilisation DOMParser, mais 2x plus lent que par programmation de la création de l'élément.
https://www.measurethat.net/Benchmarks/Show/2149/0
Exemples D'Utilisation:
J'ai pu le faire par écrit la chaîne html sur une iframe