繁体   English   中英

jQuery双击链接删除div内容

[英]Jquery Double clicking on link removing div content

当有人点击链接时,我编写了这段代码来加载DIV的内容。

现在,如果您单击链接两次,它将删除内容。

这是代码:

$('a').click(function() {
   var id = $(this).attr('class');
 if(id == 'first')
    {
      $('.active').removeClass('active');   
      $('a.first').addClass('active');  
    } 
else if(id == 'second')    
     {
      $('.active').removeClass('active');   
      $('a.second').addClass('active');  
    } 

   $('#first').toggle(id == 'first');

   $('#second').toggle(id == 'second');
});​

HTML:

<a class="first">one</a>
<a class="second">two</a>
<div>
   <li id="first">
       <h2>pen</h2>
       <div>
           <div>parker</div>
       </div>
  </li>
  <li id="second" style="display: none;">
        <h2>car</h2>
        <div>Bugatti</div>
     </div>
   </li>
</div>​

CSS:

.active { color: green; }​

使用代码的最简单解决方法是在点击回调函数上使用检查条件:

http://jsfiddle.net/UuFgt/

if($(this).is('.active')) return false;

您不是在“加载”内容,而是在隐藏内容之后才显示它( display: none )。 因此,内容不会被“删除”,而是被隐藏了。 任何时候使用removeClass('active'); ,则隐藏相应的元素。 您的代码中toggle()的想法是什么? 我认为您使用错了。 您应该将二者倒置(首先使用秒,然后使用第二),或者以不同的方式进行操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM