Je souhaite afficher un arbre de noeud DOM dans un navigateur, avec des enfants pouvant être réduits. Je cherche à peu près la même fonctionnalité que l'onglet "html" de FireBug, seulement je le veux dans la fenêtre du navigateur, et je veux être capable de choisir un nœud arbitraire comme racine. Avant de l'écrire moi-même, je me suis dit que je vérifierais pour m'assurer que personne ne peut me diriger vers un texte déjà écrit.script d'exploration de noeud?
2
A
Répondre
1
Je vérifierais sur Firebug Lite, une version spéciale de Firebug mis en œuvre tout en Javascript pour être utilisable sur les navigateurs inférieurs comme Internet Explorer: http://www.getfirebug.com/lite.html
Il est presque exactement ce que vous voulez (je crois), et même si ce n'est pas le cas, il devrait être assez proche pour vous donner quelque chose à partir de quoi.
0
Blessée en train d'écrire la mienne. Il utilise jquery (que je désignerai ci-dessous par $ jq).
nodeExplorer = function(node, container){ // note: container must be a jquery object
$jq(".nodeExplorerNode").live("click", function(){
$jq(this).toggleClass("collapsed");
return false;
});
if($jq("#nodeExplorerStyles").length == 0){
$jq("body").append(
"<style id='nodeExplorerStyles'>"+
".collapsed .nodeExplorerNode{"+
"display:none" +
"}"+
".collapsed>.minus{"+
"display:none" +
"}"+
".collapsed>.plus{"+
"display:inline" +
"}"+
".plus{"+
"display:none" +
"}"+
".nodeExplorerNode{"+
"cursor: pointer" +
"}"+
"</style>"
)
};
var drawNodes = function(node, container){
if(node.tagName){
container = $jq("<div style='margin-left: 20px' class='collapsed nodeExplorerNode'><span class='minus'>- </span><span class='plus'>+ </span>"+ node.tagName +" </div>").appendTo(container);
}else if(node.data){
container.append("<b>" + node.data + "</b>");
}
for(var i=0; i< node.childNodes.length; i++){
drawNodes(node.childNodes[i], container)
}
}
drawNodes(node, container);
}
Questions connexes
- 1. Valeur de noeud XML dans le bloc de script AS
- 2. Modification de l'identifiant de noeud en remplaçant le noeud
- 3. Utilisation des données de noeud après la création du noeud
- 4. Obtenir l'identifiant de noeud sélectionné
- 5. Noeud de contenu mixte XSLT
- 6. XmlMassUpdate - Remplacer le noeud de valeur
- 7. Noeud actuel par rapport au noeud Contexte dans XSLT/XPath?
- 8. Noeud sélectionné arbre Dojo
- 9. XSLT: Manipulation Noeud sélectif
- 10. DOM4J noeud Détacher, Jython
- 11. JQuery option XML noeud
- 12. Modification InnerText de l'élément de noeud
- 13. extjs: Modification de la valeur d'un noeud
- 14. Génération des ID de noeud Jena
- 15. Xpath, la récupération de la valeur noeud
- 16. Remplacement de javascript dom texte noeud
- 17. Détails du noeud de l'arbre Java
- 18. Comment savoir si un noeud jQuery se trouve au début de son noeud parent?
- 19. Une ArrayList de noeud peut-elle contenir un type non-noeud?
- 20. graphviz: création dynamique du noeud
- 21. Suppression du noeud XML PHP
- 22. E4X: Affectation au noeud racine
- 23. Ajout d'une classe CSS sur un noeud parent si le noeud enfant est sélectionné
- 24. Texte HTML \ rich dans le titre de noeud de Drupal?
- 25. Code de nettoyage du nom de noeud XML
- 26. Noeud n'existe plus d'erreur avec Zend_Session
- 27. Détecter si un noeud Gtk.TreeNode est développé
- 28. comment puis-je supprimer un noeud supplémentaire
- 29. empêcher l'événement mouseout pour le noeud enfant
- 30. taille du noeud avec la forme = cercle
Merci Michineghost! – morgancodes