我有一个容器中的元素列表。元素是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 ;
}
})
答案 0 :(得分:1)
在运行函数之前,只需打包所有a
元素:
$('ul.dropdownmenu > a').wrap('<li />');