如何将child附加到具有相似属性的父级?

时间:2013-05-13 12:10:04

标签: jquery parent-child

我有两个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>

感谢您的任何建议!

2 个答案:

答案 0 :(得分:4)

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

http://jsfiddle.net/3VAy6/

答案 1 :(得分:0)

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