0

この問題を解決する方法を見つけるのに苦労しています。私はWordpressによってこのul-menu出力を持っています:

<ul class="menu">
    <li>
        <a href="#">Page 1</a>
    </li>
    <li>
        <a href="#">Page 2</a>
    </li>
</ul>

しかし、私は最終結果を次のようにしたいと思います-アンカーのクローンを作成して追加し、クローンを下に配置します:

<ul class="menu">
    <li>
        <a href="#">Page 1</a>
        <a href="#">Page 1</a>
    </li>
    <li>
        <a href="#">Page 2</a>
        <a href="#">Page 2</a>
    </li>
</ul>

私はjQueryを使用しましたが、2時間の試行錯誤の間、まったく運がありません。これは私が得ることができる限り近いです。しかし、それは間違っています。

/*jQuery*/
$('.menu li a:first-child').eq(0).clone().insertAfter('.menu li a:first-child');

ここでフィドル:http://jsfiddle.net/67jXz/1/

4

2 に答える 2

4

するべきではありません.eq(0)aこれにより、一致した最初の要素に制限されるため、それが複製され、後続aのすべての後に挿入され、「ページ 1」のコピーが作成されます。

代わりに、次のようにを繰り返し使用して、個々の要素ごとに複製と挿入を実行する必要があります。.each()

$('.menu li a:first-child').each(function() {
    $(this).clone().insertAfter(this);
});

この部分は、セレクターによって一致した元の要素の後に.insertAfter(this)複製された要素を挿入することを指していることに注意してください。一致した要素を参照するという点で同じです。.menu li a:first-childthis$(this)

更新されたフィドル

于 2013-01-16T18:17:11.400 に答える
0

このコードを試してください:

$(function(){
  $('.menu li a:first-child').each(function(k,v){
    $(v).clone().insertAfter(v);
  });
});

jsfiddle

于 2013-01-16T18:19:04.813 に答える