我的目标是通过点击其标签来删除复选框检查的操作 以下是我的代码..
$('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>
请有人帮帮我。
答案 0 :(得分:4)
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();
});
答案 1 :(得分:1)
您只需要从标签中删除for
属性。
<label>ClickMe</label>