2013-05-13 39 views
1

我有兩個UL列表項,
它們具有相同的屬性,如示例data-id。但是當頁面加載時,它們不會附加到相同的UL。如何將孩子附加到具有相似屬性的父級?

所以,我需要一些方法來正確移動它。 也許是奇怪的描述,
例如:

<!-- HOW IT LOOKS AFTER PAGE LOAD --> 
<ul data-id="first_ul"> 
    <li data-id="first_ul"></li> 
    <li data-id="second_ul"></li> 
    <li data-id="second_ul"></li> 
</ul> 

<ul data-id="second_ul"> 
    <li data-id="first_ul"></li> 
    <li data-id="second_ul"></li> 
    <li data-id="first_ul"></li> 
</ul> 

<!-- HOW IT SHOULD LOOKS AFTER SCRIPT'S WORK --> 
<ul data-id="first_ul"> 
    <li data-id="first_ul"></li> 
    <li data-id="first_ul"></li> 
    <li data-id="first_ul"></li> 
</ul> 

<ul data-id="second_ul"> 
    <li data-id="second_ul"></li> 
    <li data-id="second_ul"></li> 
    <li data-id="second_ul"></li> 
</ul> 

感謝您的任何建議!

+1

_when加載頁面時,它們不會添加到同一UL_。如果這是一個問題,爲什麼不修復它在服務器本身。 – 2013-05-13 12:12:43

+0

就像我沒有訪問服務器。謝謝。 – 2013-05-13 15:57:10

回答

4
$('ul[data-id] li').each(function(){ 
    $(this).appendTo('ul[data-id="'+ this.dataset.id + '"]'); 
}); 

http://jsfiddle.net/3VAy6/

+1

或http://jsfiddle.net/3VAy6/2/(使結果可見)。 +1。 – nnnnnn 2013-05-13 12:15:14

+0

是的!作品非常好!非常感謝你! – 2013-05-13 15:57:37

0
$('ul li').each(function(){ 
    $('ul[data-id="'+$(this).attr('data-id')+'"]').append($(this)) 
}) 
相關問題