簡體   English   中英

Javascript(JsTree):如何引用樹節點的子元素

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

嗨,我正在開發一個Symfony項目,我需要JsTree結構來表示數據庫中的層次結構。 我正確聲明了JsTree libray尊重的<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>字段中包含的信息。

非常感謝您的寶貴時間。

如果您可以查找<li>的ID,則可以通過以下方式獲取其值

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文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM