2009-12-11 65 views
1

點擊的項目,我有以下代碼:找到類使用jQuery

$(".perf-row").click(function(e) { 
     if (e.target.tagName.toLowerCase() == "a") { 
     pageTracker._trackPageview($(this).attr("rel")); 
     return true; //link clicked 
     } else { 
     window.open($(this).attr("rel"));return false; 
     } 
    }); 

if (e.target.tagName.toLowerCase() == "a")條件statment我想也增加「或Class等於價格」。

我不太清楚該怎麼做,我似乎無法找到該類的點擊的元素(這將是錶行內的TD)的。

我試過$(this).class$(this.class)但既不工作....

幫助將不勝感激!

回答

0

你可以同時結合了您的測試到一個單一的jQuery命令:

if($(e.target).is('.price, a')) { .... } 

那如果測試的目標是既具有類price,或者是a標籤,或兼而有之。如果你想測試,這是一個a標籤price類,你可以使用這個:

if($(e.target).is('a.price')) { .... } 

更新:我可能誤解了你的問題。如果您打算將第二個測試添加到相同的if測試中,請使用我的代碼。如果您想添加else if,請按照其他答案的說明使用.hasClass方法。

2

要查看元素是否具有.price類,使用$.hasClass()方法。

$(this).hasClass("price"); 
+0

這裏不需要點前綴。 – 2009-12-11 05:26:12

+0

你是對的,喬爾。我正在考慮選擇器。更新:) – Sampson 2009-12-11 05:27:15

-2

你可以試試:

$(this).attr("class"); 

但這將返回應用於元素的所有類的名稱。

+0

由於jQuery有一個測試類的方法,這只是一個不正確的答案,儘管它確實返回類。 – 2009-12-11 06:03:03