jquery this.id不工作

时间:2014-06-19 07:38:34

标签: javascript jquery jquery-ui

你好,这里的人是我的代码......

    $ (".input_check").change (function (){

        if ($ (this).is (':checked')) {
            console.log(this.id + 'is checked')
        } else {
            console.log(this.id + 'is not checked')
        }


    });

上面的代码适用于几个复选框....但我想在页面加载之后执行检查而不是$ (".input_check").change ....我试过......

 $ (function () {
if ($ (".input_check").is (':checked')) {
            console.log(this.id + 'is checked')
        }
)}

Iam试图找到ID this.id但没有wrking ..我也试过(this).idthis.attr("id")仍然无法正常工作...... :(无论如何都要undefined解决这个问题??

UPDATE :: I have multiple checkboxes which are checked... I am trying to find multiple ids of those check boxes which are checked

3 个答案:

答案 0 :(得分:21)

对于这种情况,

(this).idthis.attr("id")不是正确的jQuery语法。应该是

$(this).attr('id') 

Fiddle

根据您的评论进行修改

好的,那么是什么阻止你在准备文件时做同样的事情?

 $(function() {
     $( ".input_check" ).each(function( index ) {
        if ($ (this).is (':checked')) {
            console.log($(this).attr('id')  + 'is checked')
        } else {
            console.log($(this).attr('id')  + 'is not checked')
        }
     });
 });

<强> Fiddle

答案 1 :(得分:2)

要将所有:checked元素的ID作为数组获取:

var checked = $('.input_check:checked').map(function() {
    return this.id;
}).get();

答案 2 :(得分:1)

尝试:

$(this).attr('id')

并检查您是否在复选框中定义了ID属性