删除" href"对于父元素

时间:2014-06-09 05:38:44

标签: jquery toggle

我有一个下拉菜单,我希望在移动版中禁用" parent li"链接 这是html结构

<ul>
<li class="parent"></li>
<li class="parent"></li>
<li class="parent"></li>
<li class="parent">
  <ul class="drop">
     <li class="back">Back</li>//toggle the .drop
     <li class="child"></li>
     <li class="child"></li>
  </ul>
</li>

</ul>

每一个&#34; li&#34;有href链接。我想从li.parent中禁用链接.. 我在jquery中尝试了两种方法:

$('li.parent').click(function(e){
    e.preventDefault();
    $('ul.drop').show();
}) 
$('back').click(function(){
    $('.drop').hide();
})

//这将停止来自父母的所有链接&#34; ul&#34;甚至来自&#34; ul.drop&#34;的链接。 来自ul.drom的链接必须有效。

我还有另外一个问题。如果我点击第一个li,则会显示下拉列表,之后如果我点击另一个li,则崩溃将无效。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

在您的代码中识别出许多错误的东西,功能明智和语法明智。请忽略它并使用以下内容。

尝试,

 $('li.parent').click(function(e){
    e.preventDefault();
    $(this).children('ul.drop').show();
 }); 

 $('.back').click(function(e){
    e.stopPropagation();
    $(this).closest('.drop').hide();
 });

DEMO

答案 1 :(得分:0)

你在'回'之前缺少''。

$('li.parent').click(function(e){
   e.preventDefault();
   $('ul.drop').show();
}) 
$('.back').click(function(){
$('.drop').hide();
})