2009-12-11 52 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