用ul禁用li

时间:2013-07-18 20:17:11

标签: jquery parent superfish

我正在尝试使用jQuery禁用带有子链接的父链接。任何人都可以帮助我吗?

我仍希望保持子链接处于活动状态。下面是我正在使用的jQuery。我正在使用superfish菜单,我相信这很常见。任何帮助都可以!

提前谢谢!

我很抱歉,但我是新来的。我不知道从哪里开始。我想要做的是禁用下面的“教程”链接,但保持我的Photoshop,Illustrator和Web设计链接处于活动状态。我知道你可以添加一个链接到“教程”,它不会是活动的,但有没有办法在jQuery中做到这一点?谢谢!     

            
  • 主页
  •         
  • 教程             
                      
    • 的Photoshop
    •                 
    • 插图
    •                 
    • 网页设计
    •             
            
  •         
  • 文章             
                      
    • 网页设计
    •                 
    • 用户体验
    •             
            
  •         
  • 启示
  •     

1 个答案:

答案 0 :(得分:1)

我假设您的HTML符合......

(为了我的回答,我添加了一些课程)

<ul class="list">
   <li><a href="#">Home</a></li>
   <li class="tutorials">
      <a href="#">Tutorials</a>
      <ul>
         <li><a href="#">Photoshop</a></li>
         <li><a href="#">Illustrator</a></li>
         <li><a href="#">Web Design</a></li>
      </ul>
   </li>
   <li>
      <a href="#">Articles</a>
      <ul>
         <li><a href="#">Web Design</a></li>
         <li><a href="#">User Experience</a></li>
      </ul>
   </li>
   <li><a href="#">Inspiration</a></li>
</ul>

您需要某种类型的标识符来告诉jQuery定位“教程”链接。我告诉我的陈述,查看名为'list'的无序列表,然后查看带有'tutorials'类的任何元素,最后看看是前一个元素'tutorials'的直接子节点的锚。

$(function() {
   $('.list .tutorials > a').on('click', function(event) {
      event.preventDefault();
      return false;
   });
});

您可以参考此处了解有关preventDefault方法和返回的更多信息:event.preventDefault() vs. return false

您可以将锚点保持在“教程”周围,而不会丢失样式或单击光标。这只是你如何攻击它的一个例子。