我的目标是通过单击其标签来删除复选框检查的操作
下面是我的代码..
$('TABLE TBODY TR TD').each(function()
{
$(this).find('input').each(function()
{
$('label for='+$(this)+'').preventDefault();
});
});
下面是相关的 HTML ..
<table>
<tr><input type="checkbox" id="a1"><div><label for="a1">ClickMe</lable></div></tr>
</table>
请有人帮助我。
最佳答案
preventDefault
不是 jQuery 对象本身的方法。它是传递给给定事件处理程序的事件的方法。
此外,您的标签选择器语法错误(您忘记了括号并尝试将 jQuery 对象与字符串连接),并且您不必要地嵌套了两个 each
es。
更好的:
$("table tbody tr td input").each(function () {
$("label[for='" + this.id + "']").click(function (event) {
event.preventDefault();
});
});
示例 JSFiddle:http://jsfiddle.net/s9D4n/
可能更简单,但不可否认在功能上并不等效:
$("label").click(function (event) {
event.preventDefault();
});
关于jquery - preventDefault() 不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6529932/