将父母申请给没有父母的孩子

时间:2012-09-19 09:34:50

标签: jquery html css dom

我有一个容器中的元素列表。元素是li,其中包含一个标记。

我的问题是并非所有的a都在li标签内(这是由于之前的jquery操作)。

如何遍历列表并将一个不在li中的标记放在一个内?

这是关注的HTML:

<ul class="dropdownmenu" style="display: none; ">

<li><a href="Advanced">Advanced</a></li>
<li><a href="Account">Account</a></li>

<a href="Credit Notes">Credit Notes</a>
<a href="Invoices In">Invoices In</a>

<li><a href="Invoices Out">Invoices Out</a></li>
<li><a href="Invoices Jobs">Invoices Jobs</a></li>

</ul>

我的javascript:

$('li[id^="nav"]').each(function(){ // For each nav item that has fallen out of the menu due to low res etc...
    pos = $(this).position() ;
    if(pos.top > 0)
    {
        var cnt = $('ul.dropdownmenu', this).contents()
        $('ul.dropdownmenu', this).replaceWith(cnt);
        $('span.droptop', this).remove();
        $('a:has(i span)', this).remove() ;
        $('i', this).remove() ;
        // NOW WRAP As in LIs THAT DON'T HAVE ONE
        movables += $(this).html() ;
        $(this).hide() ;
        somethingHidden = true ;
    }
})

1 个答案:

答案 0 :(得分:1)

在运行函数之前,只需打包所有a元素

$('ul.dropdownmenu > a').wrap('<li />');