我有如下的内联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。请帮忙。
答案 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"));
}
希望这有助于其他可能发现自己处于类似情况的人