Kendo Treeview / jQuery:通过无序列表中的孩子的孩子循环

时间:2012-12-28 14:52:15

标签: jquery kendo-ui kendo-treeview

我正在尝试获取所选节点中所有子节点的innerText。

因此,如果用户点击其中一个UL,我想获得该UL和任何孩子(UL和/或LI)的文本,并将其写入控制台。

$("#removeNode").click(function (e) {
    var treeview = $("#treeview").data("kendoTreeView");
    var selectedNode = treeview.select();

    console.log(selectedNode.text());
});

上面的console.log给我“LLC-A Alpine LLC-B Seminole LLC-C Commons Chase”作为示例,但我需要将每个单独列出:

LLC-A
高山
LLC-B
塞米诺尔
LLC-C
下议院
大通

样品未列出清单:

<ul class="k-group" style="border-style: none;">
<li class="k-item k-first k-last" data-id="BASE" id="BASE" data-uid="31f1f67d-89f9-40e7-b646-29a9597056c7">
    <div class="k-top k-bot"><span class="k-icon k-minus"></span><span class="k-in" data-expanded="true">Test</span></div>
    <ul class="k-group" style="border-style: none;">
        <li class="k-item k-last" data-uid="aec27c8c-ca89-49e8-bfd3-0cede391a55e">
            <div class="k-bot"><span class="k-icon k-minus"></span><span class="k-in" data-expanded="true">LLC-A</span></div>
            <ul class="k-group" style="border-style: none;">
                <li class="k-item" data-uid="78810005-52ad-42ae-92dd-7245b6960eb6">
                    <div class="k-top"><span class="k-icon k-minus"></span><span class="k-in" data-expanded="true">LLC-B</span></div>
                    <ul class="k-group" style="border-style: none;">
                        <li class="k-item" data-uid="bd9866fb-c997-41ae-a4c2-d5576f391a9c">
                            <div class="k-top"><span class="k-icon k-minus"></span><span class="k-in" data-expanded="true">LLC-C</span></div>
                            <ul class="k-group" style="border-style: none;">
                                <li class="k-item" data-uid="31c48db8-c9d2-4f40-b2ba-f42197811e56">
                                    <div class="k-top"><span class="k-icon k-minus"></span><span class="k-in" data-expanded="true">LLC-D</span></div>
                                    <ul class="k-group" style="border-style: none;">
                                        <li class="k-item k-last" data-uid="778c3538-7fbc-4daf-8b7d-b6f3cca5b6fd">
                                            <div class="k-bot"><span class="k-in">Beacon</span></div>
                                        </li>
                                    </ul>
                                </li>
                                <li class="k-item k-last" data-uid="f9e673c0-902c-4ede-b5c4-ccd2232391a4">
                                    <div class="k-bot"><span class="k-in">Willows</span></div>
                                </li>
                            </ul>
                        </li>
                        <li class="k-item" data-uid="c0f42f30-cb84-4f66-a37e-e96a0b0cfcbf">
                            <div class="k-mid"><span class="k-in">Chase</span></div>
                        </li>
                        <li class="k-item k-last" data-uid="7b7053bd-38ee-4312-9e78-484b4da48e0d">
                            <div class="k-bot"><span class="k-icon k-minus"></span><span class="k-in" data-expanded="true">LLC-F</span></div>
                            <ul class="k-group" style="border-style: none;">
                                <li class="k-item" data-uid="c0dad4b9-1839-4dca-ac1f-2fe9fc2df5ed">
                                    <div class="k-top"><span class="k-in">Seminole</span></div>
                                </li>
                                <li class="k-item k-last" data-uid="8c4073be-4b8c-4036-a85c-efe36bda1466">
                                    <div class="k-bot"><span class="k-in">Commons</span></div>
                                </li>
                            </ul>
                        </li>
                    </ul>
                </li>
                <li class="k-item k-last" data-uid="39644343-4b0c-4be0-be08-701f63096195">
                    <div class="k-bot"><span class="k-in">Alpine</span></div>
                </li>
            </ul>
        </li>
    </ul>
</li>

2 个答案:

答案 0 :(得分:0)

这就是我最终做的事情,它似乎正在发挥作用......到目前为止。

           var lis = $(".k-in", selectedNode);

            for (var i = 0; i < lis.length; i++) {
                var name = lis[i].innerText;
                console.log(name);
            }

答案 1 :(得分:0)

文本jQuery函数将返回DOM节点及其所有子节点的内部文本。在这种特殊情况下,您可以拆分文本然后再加入。这就是我的意思:

http://jsbin.com/edahit/1/edit