如何 associate/fetch 数据到 jtree 节点
How to associate/fetch data to a jtree node
我有如下内联 html 数据,可以在浏览器中正常呈现,没有任何错误。
<li id="node_1" test="testing">Node Name
<data name="name" type="string" value="Steve"/>
<data name="job" type="string" value="Developer"/>
<data name="age" type="int" value="35"/>
</li>
我有以下 JavaScript:
$('#jstree').on("changed.jstree", function (e, data)
{
var node_id = data.node.id;
var value = $("#"+node_id).attr("test");
console.log(node_id);
console.log(value);
});
我能够访问添加到 "li" 节点上的属性 "test"。但不确定如何访问子 "data" 节点并获取其 属性 值
我在 link 中找到了一些使用 json 的指针,但在我的情况下,我只有内联 html 数据,此时我无法切换到 json .请帮忙。
查看 DOM 结构我发现对于每个 "li" 节点都有一个子节点 "a" 创建并且我添加的数据结构显示为 [=21= 的子节点]节点而不是"li"节点
DOM Structure - click for snapshot
因此,从代码中我们需要访问子节点 "a" 并从子节点获取子节点,如下所示...
var properties = $("#"+node_id).find('a:first').children(".property");
for(var i=0;i<properties.length;i++)
{
console.log($(properties[i]).attr("name"));
console.log($(properties[i]).attr("value"));
}
希望这对可能遇到类似情况的其他人有所帮助
我有如下内联 html 数据,可以在浏览器中正常呈现,没有任何错误。
<li id="node_1" test="testing">Node Name
<data name="name" type="string" value="Steve"/>
<data name="job" type="string" value="Developer"/>
<data name="age" type="int" value="35"/>
</li>
我有以下 JavaScript:
$('#jstree').on("changed.jstree", function (e, data)
{
var node_id = data.node.id;
var value = $("#"+node_id).attr("test");
console.log(node_id);
console.log(value);
});
我能够访问添加到 "li" 节点上的属性 "test"。但不确定如何访问子 "data" 节点并获取其 属性 值
我在 link 中找到了一些使用 json 的指针,但在我的情况下,我只有内联 html 数据,此时我无法切换到 json .请帮忙。
查看 DOM 结构我发现对于每个 "li" 节点都有一个子节点 "a" 创建并且我添加的数据结构显示为 [=21= 的子节点]节点而不是"li"节点
DOM Structure - click for snapshot
因此,从代码中我们需要访问子节点 "a" 并从子节点获取子节点,如下所示...
var properties = $("#"+node_id).find('a:first').children(".property");
for(var i=0;i<properties.length;i++)
{
console.log($(properties[i]).attr("name"));
console.log($(properties[i]).attr("value"));
}
希望这对可能遇到类似情况的其他人有所帮助