Javascript(JsTree):如何引用树节点的子元素

Javascript (JsTree) : How to reference subelements of tree nodes

本文关键字:树节点 引用 元素 何引用 JsTree Javascript      更新时间:2023-09-26

嗨,我正在处理一个Symfony项目,我需要JsTree结构来表示数据库中的层次结构。我正确地声明了JsTree库所指定的<ul> & <li>结构。每个<li>都有它的id=数据库中相应元素的id,我用它的href=[the url i need to use when click]放了一个<a>。然后我使用以下功能:

$("#myTree").bind("select_node.jstree",function(event,data){
    if(data.rslt.obj.attr("id")!=0){
        window.location = "myModule/myAction?id="+data.rslt.obj.attr("id");
    }
});

问题是链接没有按预期工作。当我点击时,window.location会在路由的末尾添加"myModule/myAction?id="+"所选id"。

当我尝试更复杂的方法来指示要去的新路由时,例如window.location = <?php echo url_for("myModule/myAction")?>+"/id/"+data.rslt.obj.attr("id");,那么树的表示就失败了:它不像树一样显示,就像列表一样。

我认为如果有办法做这样的事情是可能的:CCD_ 6,则我可以访问包含在CCD_ 7字段中的信息。

非常感谢您抽出时间。

如果您可以确定<li>然后你可以通过获得它的价值

var id=data.rslt.obj.attr("id"(;

$("#"+id(.val((;

我终于找到了答案。有一个名为childNodes的函数,它返回对象的所有子元素。我使用了以下代码:

var id = data.rslt.obj.attr("id");

var child = document.getElementById(id).childNodes[1].firstChild;

请参阅文档:childNodes文档