[英]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.