jQuery功能改进

时间:2012-11-08 13:48:57

标签: jquery function jquery-validate

我怎样才能改善下一个功能?

function treatFormLinks () {
    if (!$('#One input').valid() ) {
        $('#LinkOne').addClass('hasErrors');    
    }
    if (!$('#Two input').valid() ) {
        $('#LinkTwo').addClass('hasErrors');    
    }
    if (!$('#Three input').valid() ) {
        $('#LinkThree').addClass('hasErrors');  
    }
};

$("#Submit").click(function () {
    treatFormLinks();
});

例如,如果我有100个(#One#Two .etc)容器,那么为每个案例创建条件将是愚蠢的。那么我怎么能减少“依赖id选择器”。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以尝试使用eachtoggleClass方法。

function treatFormLinks () {
   $('#One, #Two, #Three').each(function(){
      $('#Link'+this.id).toggleClass('hasErrors', !$('input', this).valid())
   })
};

答案 1 :(得分:0)

将输入和链接放在jQuery对象中,以便相关元素具有相同的索引。然后:

$inputs.each(function ( i ) {
    $links.eq( i ).toggleClass( 'hasErrors', $( this ).valid() );
});