jquery - jquery如何插入li

标签 jquery html-lists addition

在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 不太专业,所以你能帮我一下吗?

最佳答案

我建议如下:

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

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

JS Fiddle demo .

根据我对OP(在这个答案下方)的评论的阅读,上述不起作用的问题可能是由于缺少将代码包装在 $(document).ready() 中 处理程序,如果是这种情况,那么我建议进行以下调整:

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

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

关于jquery - jquery如何插入li,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12021480/

相关文章:

javascript - 修复和替换似乎不起作用

jquery - 鼠标悬停时如何让li出现一些内容

Javascript 不添加/删除类

javascript - 如何将下拉菜单更改为下拉菜单

jquery - 将水平宽度大于窗口宽度的 div 居中

javascript - 是否可以在列表中的背景图像上触发 jQuery 单击事件?

c - 将两个大数相加

java - 在运行时更新 Jtable?

javascript - jQuery 可排序溢出 : hidden; between two lists

css - HTML 无序列表的元素符号被遮盖了一半