Javascript 使用Jquery查找已单击项的类
我有以下代码:Javascript 使用Jquery查找已单击项的类,javascript,jquery,css-selectors,Javascript,Jquery,Css Selectors,我有以下代码: $(".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"));ret
$(".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;
}
});
如果e.target.tagName.toLowerCase==a,我还想添加或类等于价格,则添加到条件语句中
我不太确定如何做到这一点,我似乎找不到clicked元素的类,它将是表行中的td
我试过$this.class、$this.class,但都没用
非常感谢您的帮助 要查看元素是否具有class.price,请使用$.hasClass方法 您可以尝试:
$(this).attr("class");
但这将返回应用于元素的所有类的名称。您可以将两个测试合并到一个jQuery命令中:
if( $(e.target).is('.price, a') ) { .... }
测试目标是否具有类price,或者是a标记,或者两者都是。如果您想测试它是否是一个a标记并具有price类,您可以使用以下方法:
if( $(e.target).is('a.price') ) { .... }
更新:我可能误解了你的问题。如果要将第二个测试添加到相同的If测试中,请使用我的代码。如果要添加else If,请使用其他答案中解释的.hasClass方法。此处不需要点前缀。你说得对,Joel。我是从选择器的角度考虑的。更新:由于jQuery有一个测试类的方法,这只是一个不正确的答案,尽管它确实返回了类。
if( $(e.target).is('a.price') ) { .... }