2

onclick特定のtr..の下にあるすべての s を削除したい

例えば、

前:

<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');
});

しかし、おそらく別のオプションがあります。

4

5 に答える 5

5

.off()を使用

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

find("*")に含まれるすべての要素が検索され#currentます。<td>これで、すべての onclick イベント (との両方) を削除するのに十分<div>です。

于 2013-10-17T12:56:58.793 に答える
2

unbind()を使用して、アタッチされたイベント ハンドラーを要素から削除します。

$( "#current td").unbind( "click" );
于 2013-10-17T12:58:23.190 に答える
2

onclick属性を空の文字列に設定してみてください:

$("#current td").attr("onclick",""); 
于 2013-10-17T12:59:31.807 に答える
1

これを試して

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

参照

于 2013-10-17T12:59:13.480 に答える
1

これを試して:

$("#current td").prop("disabled",true);
于 2013-10-17T13:00:31.350 に答える