如何从jstree元素获取数据属性

时间:2016-06-30 10:59:29

标签: javascript jquery jstree

带有数据属性的简单jstree列表:

<div id="jstree1">
    <ul>
        <li class="jstree-files jstree-open" data-file-id=716 data-size=1088>list_elemnt1<ul>
    </ul>
</div>

我可以成功获得路径:

$(document).ready(function () {
            $('#jstree1').on('changed.jstree', function (e, data) {
                var path = data.instance.get_path(data.node, '/').replace('//', '/');
            });
        });

但我找不到获取数据属性的正确方法(data-file-iddata-size

同时查看edata都无济于事。

1 个答案:

答案 0 :(得分:0)

相关DOM节点在事件的data参数中可用。您可以使用jQuery包装它并方便地访问数据属性:

$('#tree_menu').on('changed.jstree', function (e, data) {
    alert( $(data.node).data("file-id") );
});

或者......你可以直接使用标准DOM方法,就方便而言,在这种情况下几乎是相同的。

$('#tree_menu').on('changed.jstree', function (e, data) {
    alert( data.node.getAttribute("data-file-id") );
});