1

我正在尝试获取所选节点中所有子节点的 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
Alpine
LLC-B
塞米诺尔
LLC-C
Commons
Chase

示例无序列表:

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

4

2 回答 2

0

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

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

            for (var i = 0; i < lis.length; i++) {
                var name = lis[i].innerText;
                console.log(name);
            }
于 2012-12-28T16:08:38.373 回答
0

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

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

于 2012-12-28T19:06:13.090 回答