Jquery 仅针对在选择器中具有子菜单的链接

Jquery 仅针对在选择器中具有子菜单的链接,jquery,css,Jquery,Css,相反,我只希望它在用户单击Discography和Videography时发出警报。只需使用.has('ul').length。。那样 $("#nav > li > a").click(function() { alert("click called"); }); 只需使用.has('ul').length。。那样 $("#nav > li > a").click(function() { alert("click called"); }); $("

相反,我只希望它在用户单击Discography和Videography时发出警报。

只需使用.has('ul').length。。那样

$("#nav > li > a").click(function() {
    alert("click called");
});
只需使用.has('ul').length。。那样

$("#nav > li > a").click(function() {
    alert("click called");
});

$("#nav  li  a").click(function() {
   if($(this).parent().has('ul').length){
      alert("this has submenu");
    }
});
附言:以上内容甚至适用于更深层次的嵌套列表

$("#nav  li  a").click(function() {
   if($(this).parent().has('ul').length){
      alert("this has submenu");
    }
});

附言:以上内容甚至适用于更深层次的嵌套列表

您需要找到是否存在任何ul元素

$("#nav li:has(ul) > a").click(function() {
    alert("click called");
});
检查

编辑

“li”及其所有子项在上面的代码中被选中,下面是如何修复的

$("#nav li").click(function() {
var subs = $('ul')
if($(this).find(subs).length !== 0){
  alert("Click called");
}
});

已编辑

您需要查找是否存在任何ul元素

$("#nav li:has(ul) > a").click(function() {
    alert("click called");
});
检查

编辑

“li”及其所有子项在上面的代码中被选中,下面是如何修复的

$("#nav li").click(function() {
var subs = $('ul')
if($(this).find(subs).length !== 0){
  alert("Click called");
}
});

编辑

您也可以这样做:

 $("#nav li a").click(function() {
 var subs = $('ul')
 if($(this).parent().find(subs).length!==0){
  alert("Click called");
 }
});

您也可以走这条路:

 $("#nav li a").click(function() {
 var subs = $('ul')
 if($(this).parent().find(subs).length!==0){
  alert("Click called");
 }
});

@Roko单击事件也会在我不想要的子菜单链接上发出警报。我只想让它在你点击Discography或Videography@RokoC.Buljan这同样有效。太棒了,谢谢@Roko单击事件也会在我不想要的子菜单链接上发出警报。我只想让它在你点击Discography或Videography@RokoC.Buljan这同样有效。太棒了,谢谢!