【发布时间】:2011-09-06 15:25:59
【问题描述】:
我知道我已经接近完成排序,但我确信有更好的方法来实现以下目标:
我想定位有一个孩子 'ul' 的 'li's' 并附加一个像这样的跨度:
<li class="parent">
<a>Item 1 <span> </span></a>
<ul>
<li></li>
<li></li>
</ul>
</li>
这是我正在尝试使用的 jQuery:
jQuery(document).ready(function(){
jQuery('ul').attr("id", "nav");
jQuery("ul#nav li:has(ul)").addClass("hasChildren");
if (jQuery('ul#nav li.hasChildren').length)
{
jQuery('ul#nav li.hasChildren a').append("<span></span>");
}
});
问题是跨度被添加到所有“li”中,无论它们是否有 sub ul。
所以我的问题是如何仅将跨度添加到其中包含 sub ul 的 li 中,而不是添加到所有 li 中
加里
【问题讨论】:
-
仅供参考,
jQuery('ul').attr("id", "nav");为您页面上的每个ul提供nav的ID。由于 id 应该是唯一的,因此您可能会追求类似jQuery('ul').first().attr("id", "nav"); -
另外,您发布的代码works for me。
标签: jquery navigation html-lists