Dynatree - 我在哪里可以在每个节点中存储其他信息?

时间:2011-05-16 02:43:37

标签: dynatree

我目前正在测试Dynatree,我只是想询问是否有可用的属性/参数,我可以为每个节点存储其他信息(如ASP.NET TreeView中的属性'value')?提前谢谢。

2 个答案:

答案 0 :(得分:6)

您可以使用带有 data 属性的HTML添加自定义属性(有效,但验证工具可能会抱怨。)

例如,添加新的 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>标记本机支持(How to make hyperlinks in dynaTree jQuery plugin clickable?)。

答案 1 :(得分:0)

如果您要添加要由dynatree读取的数据,那么mar10是正确的。例如,如果您想让dynatree不显示图标,可以使用以下内容:

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

不幸的是,这不是真正有效的HTML,我的HTML5验证器(Visual Studio 2010 SP1)喜欢抱怨它。

如果您只想嵌入自己的数据,HTML5允许您向li元素添加data- *属性:

<li data-myprop="myvalue">

以下是HTML5Doctor的其他信息。