这应该是一个快速的!
我需要通过类名来区分点击的两个元素..例如
HTML:
<p class='p1'>paragraph element</p>
<p class='p2'>paragraph element</p>
jquery的:
$('p').on('click', function() {
if ($(this).attr('class', 'p1') {
callThisFunction();
} else {
doNothing();
}
});
答案 0 :(得分:5)
if ($(this).is(".p1")) {
或
if ($(this).hasClass("p1")) {
$(this).attr("class", "p1")
实际上设置类属性。检查$(this).attr("class")
并不好,因为它可能有多个类。
答案 1 :(得分:2)
$(this).hasClass('p1')
更快。
答案 2 :(得分:2)
使用.hasClass()检查班级。
$('p').on('click', function() {
if ($(this).hasClass('p1')) {
callThisFunction();
} else {
doNothing();
}
});
答案 3 :(得分:1)
$('p').on('click', function() {
if ($(this).hasClass('p1')) {
console.log("do something");
} else {
console.log("do nothing");
}
});
答案 4 :(得分:1)
如果你需要区分这样的行为 - 只有一些元素采取行动 - 你真正应该做的只是绑定到匹配而不是每个<p>
元素。
$('p.p1').on('click', callThisFunction);
这是goma的jsfiddle的新分支:http://jsfiddle.net/4b8Pf/2/
答案 5 :(得分:0)
if($(this).attr('class') === 'p1'){}
是你想要使用的。 $(this).attr('class', 'p1')
将当前元素设置为p1
。