3

<ul>ネストされたリストのタグを削除し、その子<li>要素を親要素に追加したいと考えています<ul>。例えば ​​:

<ul>
    <li>Item 1</li>
    <ul>
        <li>Item 2</li>
    </ul>
    <li>Item 3</li>
</ul>

になるはずです:

<ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
</ul>

私はjQueryが初めてで、これまでに作成したものが機能せず、理由がわかりません:

 $content.find('ul').each(function() {
if ($(this).parent().is('li')) {
  var elements = $(this).children().detach();
  var closest = $(this).closest('li');
  $(this).remove();
  elements.appendTo(closest);
}
}

どんな助けでも大歓迎です。

4

2 に答える 2

6

.unwrap()を使用

デモまたはデモ

$('ul > ul > li').unwrap('ul');
于 2013-09-25T14:28:07.917 に答える
1

試す

var elements = [];
$('ul.outer li').each(function(){
    elements.push(this); 
});
$('ul.outer').html('');
for(x in elements){
    $('ul.outer').append($(elements[x])[0].outerHTML);
}

たとえば、..複数のレベルの深さで機能する必要がある場合..

<ul class="outer">
<li>Item 1</li>
<ul>
    <li>Item 2</li>
    <ul>
        <li>Item 2</li>
    </ul>
</ul>
<li>Item 3</li>
</ul>
于 2013-09-25T14:29:29.863 に答える