首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >问题:Jstree select节点总是返回容器节点

问题:Jstree select节点总是返回容器节点
EN

Stack Overflow用户
提问于 2011-05-05 13:58:46
回答 1查看 2.5K关注 0票数 1

我是JQuery/Jstree的新手。当我试图以编程方式选择一个节点时,它总是返回容器节点,而不是我想要得到的子节点。请帮帮忙。

我的代码如下,

代码语言:javascript
复制
<div id="containerId" class="demo">
<ul>
    <li id="phtml_1">
        <a href="#">Root node 1</a>
        <ul>
            <li id="zzx">
                <a href="#">Child node 1</a>
            </li>
            <li id="phtml_3">
                <a href="#">Child node 2</a>
            </li>
        </ul>
    </li>
</ul>

javascript

代码语言:javascript
复制
$(function () {
    $("#containerId").jstree({ 
        "plugins" : [ "themes", "html_data", "ui" ]
    });
});

脚本

代码语言:javascript
复制
$(document).ready(function () { 
  var node= $("#containerId").jstree("select_node","#zzx"); 
  //Problem here, why the id is still the "containerId", not the "zzx"?
  alert(node.attr("id"));
}); 

-谢谢--罗杰

EN

回答 1

Stack Overflow用户

发布于 2011-07-17 04:54:33

您将node设置为等于#('containerId'),而不是其他任何东西。在jQuery中调用对象上的方法时,结果只是对象。这样,您就可以链接这样的方法:

代码语言:javascript
复制
$('#containerId').method1().method2().method3();

如果要以编程方式选择节点,则已经正确地这样做了:

代码语言:javascript
复制
$("#containerId").jstree("select_node","#zzx");

由于您知道您刚刚选择的节点,所以可以像使用jQuery的任何其他元素一样获得节点:

代码语言:javascript
复制
$('#zzx')

如果每次选择节点时都尝试调用函数,请使用以下命令:

代码语言:javascript
复制
$('#containerId').bind('select_node.jstree', function (event, data) {
    alert(data.rslt.obj.attr('id'));
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5898919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档