我有DOM元素我想通过添加一个类"noEdit"从.click函数中排除我遇到的问题是这些元素中的一些有多个类,即:
<td class="firstCol noEdit"> // <-- wont work
<td class="noEdit"> // <-- works fine
Run Code Online (Sandbox Code Playgroud)
和jQuery:
$('td').click( function(){
if($(this).attr('class') != "noEdit"){
alert('do the function');
});
Run Code Online (Sandbox Code Playgroud)
想法?
如果使用查询class属性attr(),它只会将值作为单个字符串返回.然后您的第一个条件失败,<td>因为您的代码将尝试进行比较
"firstCol noEdit" != "noEdit"
Run Code Online (Sandbox Code Playgroud)
返回true(因为它们不相等)并导致显示警报.
您将要查看该hasClass()函数,它会为您解析类列表并检查属性中是否存在给定的类:
$('td').click(function() {
if (!$(this).hasClass("noEdit")) {
alert('do the function');
}
});
Run Code Online (Sandbox Code Playgroud)