我在SharePoint中有一个手风琴导航快速启动。然而,手风琴效果很好,我试图在SharePoint的顶级ul
标题中添加一个图标。不幸的是,所有ul
和li
无论级别都有menu-item-text.
的范围类别我不能为我的生活找出用于附加图标的选择器顶级标题,而不是位于子菜单下的后续列表项。
这是jQuery。
var parent = $("#zz12_V4QuickLaunchMenu > ul > li:has('ul')");
parent.find("li span.menu-item-text:first").append("<b>+</b>");
parent.closest("li").find("> ul").hide();
parent.click(function(event) {
event.preventDefault();
var childUL = $(this).closest("li").find("> ul");
var isVisible = childUL.is(":visible");
if (isVisible) {
childUL.slideUp();
} else {
childUL.slideDown();
}
});
但是,可以通过下面的jsfiddle链接查看html。 [它详尽无遗]。
ETA:如果我取出find("li span.menu-item-text:first")
部分,则脚本按预期工作。但是,如果扩展UL,则+移动到UL的底部。我试图通过某种方式将+放在标题所包含的<span>
中来阻止它。
请参阅我的jsfiddle:https://jsfiddle.net/m30nar2p/2/
答案 0 :(得分:1)
使用:first-child
Selector代替:first
Selector
虽然
:first
只匹配一个元素,但:first-child
选择器可以匹配多个:每个父元素一个。
parent.find("li span.menu-item-text:first-child").append("<b>+</b>");