2013-02-26 69 views
0

美好的一天。检查是否使用jQuery选择ID

我使用jQuery的下面点击功能

$(function() { 

      $("#areas ul a").click(function (event) { 
       event.preventDefault(); 
       $("#areas ul li a").removeClass('activeAreas'); 
       $(this).addClass('activeAreas'); 
       $(".hidden").hide(200); 
       $($(this).attr("href")).show(500) 

      }); 

     }); 

什么,我想要做的就是在这个循环什么,要检查特定元素是否处于活动状态,然后采取行动时说:

例如。

$("#areas ul a").click(function (event) { 
       event.preventDefault(); 
       $("#areas ul li a").removeClass('activeAreas'); 
       $(this).addClass('activeAreas'); 
       $(".hidden").hide(200); 
       $($(this).attr("href")).show(500) 

       //I'm adding this... but it is not working 

       if($(this).attr(href) = 'pretoriaDetail'){ 
        alert('it works'); 
       } 

      }); 

我如何得到,如果声明工作......?

感谢

+0

什么叫主动是什么意思? – dakait 2013-02-26 07:55:51

+5

我假设你样本中的'='是一个错字。它应该是'=='。而if条件中的href应该是“href”。代码适用于我这个小提琴:http://jsfiddle.net/Qr5nL/ – ryadavilli 2013-02-26 07:56:02

+0

'if($ .trim($(this).attr(href))=='#pretoriaDetail')alert('ok') ;' – adeneo 2013-02-26 08:00:39

回答

2

如果你想检查是否class被应用到DOM然后.hasClass会有所帮助。

公文http://api.jquery.com/hasClass/

还有一件事没有错误代码。

if($(this).attr(href) = 'pretoriaDetail'){ 
      alert('it works'); 
} 

必须

if($(this).attr("href") == 'pretoriaDetail'){ 
      alert('it works'); 
} 

因为什么=做而==比较它与HREF必须用引号包围被分配值了这一点。

+1

不只是代码中的'=''href'也应该用这样的引号:'$(this).attr('href')' – Jai 2013-02-26 08:05:15

+0

@Jai嘿朋友,我已经在回答中定义了它...看起来... – 2013-02-26 08:05:40

+1

是我的坏只是看到它。 – Jai 2013-02-26 08:06:27

0

我想你应该试试这个:

var ID = $(this).attr("href"); 

$('#'+ID).show(500); 

Declare a variable and use it as an id.

那么这应该是这样的:

 $(function() { 
     $("#areas ul a").click(function (event) { 
      var ID = $(this).attr("href"); 
      event.preventDefault(); 
      $("#areas ul li a").removeClass('activeAreas'); 
      $(this).addClass('activeAreas'); 
      $(".hidden").hide(200); 
      $('#'+ID).show(500); // or this way $('[id="'+ID+'"]').show(500); 
     }); 
    }); 
1
$(function() { 
     $("#areas ul a").click(function (event) { 
      event.preventDefault(); 
      if(!$(this).hasClass('activeAreas')){ 
       $("#areas ul li a").removeClass('activeAreas'); 
       $(this).addClass('activeAreas'); 
       $(".hidden").hide(200); 
       $($(this).attr("href")).show(500); 
      } 
     }); 

    });