题
我目前正在测试ydnatree,我只想询问是否有一个可用的属性/参数,其中我可以为每个节点存储额外的信息(如属性'value'中的属性'值)?提前致谢。
解决方案
您可以使用html使用 data 属性添加自定义属性(虽然验证器可能抱怨。)
例如添加新的 URL 属性:
.
<ul>
<li data="url: 'http://jquery.com'">jQuery home
<li data="url: 'http://docs.jquery.com'">jQuery docs
或从JSON或JS对象加载时:
.
children: [
{ title: "jQuery home", url: "http://jquery.com" },
{ title: "jQuery docs", url: "http://docs.jquery.com" },
之后,您可以如此访问:
.
onActivate: function(node) {
if( node.data.url )
window.open(node.data.url);
$("#echoActive").text(node.data.title);
},
编辑:
从版本1.2生成的<a>
标签(如何在dynatree jQuery插件中制作超链接点击?)。
其他提示
如果您添加要被Dynatree读取的数据,那么Mar10是正确的。例如,如果您想要使用Dynatree未显示您可以使用以下内容的图标:
<li data="icon: 'null'">
.
不幸的是,这不是真正有效的HTML和我的HTML5验证器(Visual Studio 2010 SP1)喜欢抱怨它。
如果只想嵌入自己的数据,HTML5允许您将数据 - *属性添加到LI元素:
<li data-myprop="myvalue">
.
这是 html5doctor 。