jstree:jquery.find 仅适用于第一级节点

jstree: jquery.find working just for nodes of the first level

为什么这段代码不起作用?

http://jsfiddle.net/3q9Ma/28/

<div id="jstree">
    <ul>
        <li id="x1">AAA004
            <ul>
                <li id="x2">AAA005</li>
                <li>AAA006
                    <ul>
                        <li id="x3">AAA007
                            <ul>
                                <li>AAA008</li>
                                <li>AAA009</li>
                            </ul>
                        </li>
                        <li>AAA010</li>
                    </ul>
                </li>
            </ul>
        </li>
        <li>AAA011</li>
        <li>AAA012</li>
    </ul>
</div>

和 javascript:

$(function () {
    $('#jstree').on('ready.jstree', function (e, data) {
          x = $('#jstree').find("li[id='x3']");
          alert(x[0].id);
    }).jstree();
});

试图找到第一级的节点有效!!!但与其他人没有。将找到 id="x1" 的节点,但不会找到 id="x2" 或 id="x3" 的节点。

加载页面时 - DOM 中没有 li#x3 节点。查看 jstreeresult。您的代码会在页面加载后立即运行。

但是如果您打开列表 - 是的,li#x3 会出现,这将在您的代码运行后发生。