2

ワードプレスのメニューで作成

<a href="#">menu 1</a>
<a href="#">menu 2</a>
<a href="#">menu 3</a>
<a href="#">menu 4</a>
<a href="#">menu 5</a>

しかし、それらがliの中にあることを追加したいと思います。このような

<li><a href="#">menu 1</a></li>
<li><a href="#">menu 2</a></li>
<li><a href="#">menu 3</a></li>
<li><a href="#">menu 4</a></li>
<li><a href="#">menu 5</a></li>

私はjqueryでそれが可能であることを知っています。やってみたけど出来ない。私はjqueryのプロではないので、助けていただけませんか。

4

2 に答える 2

3

次のことをお勧めします。

var list = $('<ul />').insertBefore($('a').first());

$('a').each(
    function(){
        $(this).wrap('<li />').closest('li').appendTo(list);
    });​

JS フィドルのデモ

OPからのコメント(この回答の下)を読んだことに基づいて、上記が機能しないという問題は、$(document).ready()ハンドラーにラップされているコードがないことが原因である可能性があります。その場合は、次の適応をお勧めします:

$(document).ready(
    function(){
    var list = $('<ul />').insertBefore($('a').first());

    $('a').each(
        function(){
            $(this).wrap('<li />').closest('li').appendTo(list);
        });​
    });
于 2012-08-18T19:12:42.327 に答える
0

要素に入れたい要素にクラスを追加しliます。

<a href="#" class="li_a">menu 1</a>
<a href="#" class="li_a">menu 2</a>
<a href="#" class="li_a">menu 3</a>
<a href="#" class="li_a">menu 4</a>
<a href="#" class="li_a">menu 5</a>

次に、それらの要素を取得し、それらを通過します。

var ul = $("<ul></ul>").appendTo("body");
$("a.li_a").each(function() {
    $(this).wrap("<li></li>").parent().appendTo(ul);
});
于 2012-08-18T19:14:19.943 に答える