JQuery选择没有禁用的所有元素并且没有只读?

时间:2011-03-03 16:50:43

标签: jquery

使用JQuery,我需要选择具有条件的所有INPUT元素:

'未禁用'(:禁用)'AND''不读取',

然后我要改变css样式来查询结果。

更新:我需要按顺序迭代结果..

2 个答案:

答案 0 :(得分:43)

列出来源:

$('input:not(:disabled):not([readonly])').each(function() {
     $(this).foo();
});

或更好:

$('input:enabled:not([readonly])').each(function() {
     $(this).foo();
});

修改 从您的以下答案中,您可以更好地做您想做的事情:

$('input').focus(function(e) {
    if($(this).is(':disabled, [readonly]')) {
        $(this).next().focus();
        e.preventDefault();
    }
});

答案 1 :(得分:0)

我真的需要这些:

$('input:not(input:enabled:not([readonly]))').each(function() {
 //skip focus to readonly input
    $(this).focus(function(){
        $(this).nextAll('input:enabled:not([readonly])')[0].focus();
    });
});