Javascript 使用每个复选框的ID执行操作
我刚刚了解到,我们可以遍历文档中的所有复选框,但我不清楚如何处理找到的复选框的值或属性 这是我的密码:Javascript 使用每个复选框的ID执行操作,javascript,jquery,Javascript,Jquery,我刚刚了解到,我们可以遍历文档中的所有复选框,但我不清楚如何处理找到的复选框的值或属性 这是我的密码: function buildrow(){ $("input[type=checkbox][checked]").each( function() { alert($this.attr('id');//This doesn't work } ); } 我们如何提取一个值并利用它做些什么?例如,提取ID的值并将
function buildrow(){
$("input[type=checkbox][checked]").each(
function() {
alert($this.attr('id');//This doesn't work
}
);
}
我们如何提取一个值并利用它做些什么?例如,提取ID的值并将其设置为变量
谢谢提醒$this.attr'id'//这确实有效使用标准DOM属性访问,而不是再次使用jQuery包装每个复选框:
alert(this.id)
应该有用。您可能还希望使用input[type=checkbox]:checked作为选择器,注意要包括引号。作为一般规则,我避免使用发明的选择器,如:checkbox,因为其他开发人员可能会被误导,认为这是一个真正的CSS选择器。在您的代码中,您缺少一个右括号,并且要访问一个id,您可以从DOM元素本身获取它。试试这个
function buildrow(){
$("input[type=checkbox]:checked").each(
function() {
alert(this.id);//This doesn't work
}
);
}
$this应该是$this,或者如果您打算使用$this,因为它看起来很整洁或方便,或者诸如此类,您必须将$this指定给$this
function buildrow(){
$("input:checkbox").each(function(index,element) {
$this = $(element);
alert($this.attr('id'));//This doesn't work
}
);
}
此外,您的警报功能不正确,您在结尾处缺少了一个,我也对您的主要功能体进行了其他更正。我希望这会有所帮助。您尚未定义$this,您缺少一个。你可能应该看一看这本书。阅读一些教程也可能有助于更好地理解jQuery。我对此很感兴趣,但我太新了,不知道如何将这一行合并到我的代码中,同时确保我只得到那些:选中的项。@ChadM:与公认的答案大致相同,但是var id=$this.attr'id'将替换为var id=this.id。请注意,attr是一个特别邪恶的函数,有几个原因,但主要是因为人们以最冗余的方式使用它。我已经概述了一些问题,尽管它们更多地适用于jQuery的旧版本。
function buildrow(){
$("input:checkbox").each(function(index,element) {
$this = $(element);
alert($this.attr('id'));//This doesn't work
}
);
}