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

时间:2011-09-05 11:41:48

标签: php javascript jquery symfony1 jstree

您好我正在研究Symfony项目,我需要JsTree结构来表示数据库中的层次结构。我声明JsTree库正确地考虑了<ul> & <li>结构。每个<li>的id =数据库中相应元素的id,我将<a>href=[the url i need to use when click]放在一起。然后我使用以下功能:

$("#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");,那么树的表示失败:它不像树一样显示,就像列表一样。

我认为如果有某种方法可以做到这样的话,那将是可能的: window.location = data.rslt.obj.attr("id").subelement("a").attr("href");然后我可以访问<li>字段中包含的信息。

非常感谢你的时间。

2 个答案:

答案 0 :(得分:0)

如果你能找到&lt;的id。李&GT;然后你可以通过

获得它的价值

var id = data.rslt.obj.attr(“id”);

$( “#” + ID).VAL();

答案 1 :(得分:0)

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

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

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

请参阅文档:childNodes doc