删除TR下的所有onclick

时间:2013-10-17 12:55:52

标签: javascript jquery

我想删除特定onclick下的所有tr ..

例如,

之前:

<tr id="current">
   <td onclick="foo();"></td>
   <td onclick="foo();"><div onclick="abc();"></div></td>
   <td onclick="foo();"></td>
   <td onclick="foo();"></td>
</tr>

后:

<tr id="current">
   <td></td>
   <td><div></div></td>
   <td></td>
   <td></td>
</tr>

我想我必须做点什么:

$("#current td").each(function() {
   $(this).removeAttr('onclick');
});

$("#current td div").each(function() {
   $(this).removeAttr('onclick');
});

但也许还有其他选择。

5 个答案:

答案 0 :(得分:5)

使用.off()

$("#current").find("*").off(); 

find("*")会找到#current中包含的所有元素。这足以删除所有onclick事件(<td><div>)。

答案 1 :(得分:2)

使用unbind()从元素中删除附加的事件处理程序。

$( "#current td").unbind( "click" );

答案 2 :(得分:2)

尝试将onclick属性设置为空字符串:

$("#current td").attr("onclick",""); 

答案 3 :(得分:1)

试试这个

$("#current").each(function() {
   $(this).unbind("click");
});  

Reference

答案 4 :(得分:1)

试试这个:

$("#current td").prop("disabled",true);