2011-05-16 3 views

Répondre

6

Vous pouvez ajouter des propriétés personnalisées à l'aide HTML avec les données attribut

Par exemple ajouter une nouvelle url propriété (travaux, bien qu'un validateur pourrait se plaindre.):

<ul> 
    <li data="url: 'http://jquery.com'">jQuery home 
    <li data="url: 'http://docs.jquery.com'">jQuery docs 

Ou quand chargement à partir d'objets JSON ou JS:

children: [ 
    { title: "jQuery home", url: "http://jquery.com" }, 
    { title: "jQuery docs", url: "http://docs.jquery.com" }, 

Ensuite, vous pouvez accéder comme ceci:

onActivate: function(node) { 
    if(node.data.url) 
     window.open(node.data.url); 
    $("#echoActive").text(node.data.title); 
}, 

EDIT: partir de la version 1.2 <a> balises sont nativement pris en charge (How to make hyperlinks in dynaTree jQuery plugin clickable?).

+1

J'essayais d'accéder à l'URL en tant que node.url, au lieu de node.data.url. Merci pour l'information! – theTuxRacer

+0

Serait intéressant de savoir comment cela est fait à partir de JSON. –

+0

Droite. Je comprends comment cela fonctionne maintenant. L'information est là dans les données. Il n'apparaît tout simplement pas dans le balisage HTML. –

0

Si vous ajoutez des données à lire par dynatree, alors mar10 est correct. Par exemple, si vous voulez avoir dynatree pas afficher les icônes que vous pouvez utiliser les éléments suivants:

<li data="icon: 'null'"> 

Malheureusement, ce n'est pas vraiment valide HTML et mon HTML5 validateur (Visual Studio 2010 SP1) aime à se plaindre à ce sujet.

Si vous voulez simplement intégrer votre propre HTML5 de données vous permet d'ajouter Data- * attributs à vos éléments li:

<li data-myprop="myvalue"> 

Voici quelques informations supplémentaires de HTML5Doctor.

+1

sa mauvaise dynatree remplace également les attributs data- (?)! – rab

Questions connexes