-2

我有一个容器中的元素列表。元素是包含 a 标签的 li。

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

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

这是相关的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 ;
    }
})
4

1 回答 1

1

在运行函数之前简单地包装所有a元素:

$('ul.dropdownmenu > a').wrap('<li />');
于 2012-09-19T09:42:00.250 回答