如何将数据关联/获取到jtree节点

时间:2018-03-13 01:18:13

标签: javascript jquery jstree jtree

我有如下的内联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);
});

我可以访问属性&#34; test&#34;添加在&#34; li&#34;节点。但不确定如何访问孩子&#34;数据&#34;节点并获取其属性值

我在link中发现了一些使用json的指针,但在我的情况下,我只有内联html数据,此时我无法切换到json。请帮忙。

1 个答案:

答案 0 :(得分:0)

查看DOM结构我发现每个“li”节点都创建了一个子节点“a”,我添加的数据结构显示为“a”节点的子节点而不是“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"));
}

希望这有助于其他可能发现自己处于类似情况的人