Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用每个复选框的ID执行操作_Javascript_Jquery - Fatal编程技术网

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