2

在 wordpress 菜单中创建

<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 回答