Jquery双击删除div内容的链接

时间:2012-11-14 16:58:38

标签: jquery

当有人点击某个链接时,我编写了这段代码来加载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; }​

2 个答案:

答案 0 :(得分:4)

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

http://jsfiddle.net/UuFgt/

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

答案 1 :(得分:-1)

您不是“加载”内容,而是在隐藏内容后显示内容(使用display: none)。 因此内容不会被“删除”,而是隐藏的。每次使用removeClass('active');时,都会隐藏相应的元素。 您的代码中toggle()的含义是什么?我认为你错了。要么你应该倒两个(先用第二个,第二个用第一个),或者用不同的方法。