如何从 jstree 元素获取数据属性
How to get data attributes from a jstree element
具有数据属性的简单 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-id
、data-size
)
e
和 data
都找遍了,但无济于事。
相关的 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") );
});
具有数据属性的简单 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-id
、data-size
)
e
和 data
都找遍了,但无济于事。
相关的 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") );
});