2011-12-02 31 views
-2

下面是樹結構,我想通過jquery獲得第二個樹結構。通過jQuery在樹結構上操作數據

<ul> 
    <li data-id="1"> 
     <ul> 
      <li data-id="2"> 
       <ul> 
        <li data-id="6"></li> 
       </ul> 
      </li> 
     </ul> 
    </li> 
    <li data-id="3"></li> 
    <li data-id="4"></li> 
</ul> 

這是我想要的目標結構,所以我該怎麼做?

<ul> 
    <li data-id="1" data-path="1"> 
     <ul> 
      <li data-id="2" data-path="1,2"> 
       <ul> 
        <li data-id="6" data-path="1,2,6"></li> 
       </ul> 
      </li> 
     </ul> 
    </li> 
    <li data-id="3" data-path="3"></li> 
</ul> 
+0

RTFM,請。 http://api.jquery.com –

+0

@MДΓΓБДLL我已經讀過它,但發現很難做到我所要求的。被認爲是一個非常具體的問題,可能永遠不會幫助任何人在未來downvoted – Freshblood

+0

。我們不在這裏爲你做你的工作。 – jbabey

回答

1

嘗試以下操作:

$('li[data-id]').each(function() { 
    var self = $(this); 
    var path; 
    self.parents('li[data-id]').andSelf().each(function() { 
    if (path) { 
     path = $(this).data('id') + ',' + path; 
    } else { 
     path = $(this).data('id'); 
    } 
    }); 
    self.attr('data-path', path); 
}); 

See here for jsFiddle.

+0

。 – Freshblood

+0

@Freshblood上面的作品,檢出jsFiddle。 –