if(){}中$(this)的含义

时间:2011-05-29 16:34:02

标签: javascript jquery

在此规则中:

if($('fieldset[data-input-type=checkbox]').find('input').is(':checked'))
{
    alert($(this));
}

为什么我将“对象对象”作为警报而不是字段集?如何为每个字段集执行特定操作,其中包含已检查的输入而不是所有字段集?

2 个答案:

答案 0 :(得分:4)

这应该这样做

$('fieldset:has(:checkbox:checked)').each(function(){
  alert(this);
});

演示 http://jsfiddle.net/gaby/hVTBF/


或者如果您确实只需要过滤具有属性fieldset的{​​{1}},那么请使用

data-input-type

评论

更新

由于您只想在对象上运行更多jQuery方法,您可以直接在初始选择器中执行此操作,并避免为每个项目运行函数的$('fieldset[data-input-type=checkbox]:has(:checkbox:checked)').each(function(){ alert(this); });

each

$('fieldset:has(:checkbox:checked) .switch').add‌​‌​Class('on');

答案 1 :(得分:0)

尝试jQuery v1.6 prop()方法

if($('input:checkbox').prop('checked'))
{
    alert('This is checked');
}