2012-12-28 14 views
1

通過孩子的孩子循環,我試圖讓所選節點的所有孩子的innerText。劍道樹形/ jQuery的:在無序列表

所以,如果在,我想拿到UL和任何兒童(ULS和/或LIS)的文本,並將其寫入控制檯的用戶接口的一個用戶點擊。

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

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

以上的console.log給我 「LLC-A高山LLC-B塞米諾爾LLC-C共用大通」 作爲一個例子,但我需要單獨列出每個爲:

LLC-A
高山
LLC-B
塞米諾爾
LLC-C
共享
大通

樣品Unorded列表:

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

+0

很難按照你想要做什麼。 (我沒有看到任何地方kendoTreeView在標記,對於初學者。)過去,我沒有看到你說的應該打印您的節點的節點之間的任何明顯的相似之處。他們不是同一個元素的所有孩子;它們也不是相同的元素類,甚至不具有相同的HTML5數據屬性。請澄清標記並詳細說明目標... – jxpx777

+0

我將舉例說明我正在嘗試做什麼。 如果我點擊文本「LLC-F」我想列出在控制檯下,它的每個項目。使用我當前的點擊功能,當我將其輸出到控制檯時,我可以在一行中獲得所有名稱。 – Mithrilhall

+0

在我的點擊功能,當我做的console.log這是我收到的控制檯:的innerText:「有限責任公司 - A↵LLC-B↵LLC-C↵Seminole↵Beacon↵Alpine↵」 哪有我循環獲取每個人的名字? – Mithrilhall

回答

0

文本jQuery函數將返回DOM節點及其所有子節點的內部文本。在這種特殊情況下,您可以分割文本,然後將其加入。這裏是我的意思是:

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

0

這是我落得這樣做,它似乎是工作....至今。

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

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