如何检查多个类,并在jquery中对所有类应用效果?

时间:2010-10-19 20:10:31

标签: jquery loops

这是我在(document).ready

中的代码
$('.checkfirst').click(function() {
    if ($(".textbox").is('.required')) {
        var x = $(this).offset().top - 200;
        $(this).focus();
        $('html,body').animate({
             scrollTop: x
        }, 500);
        divHint = '<div class="formHint">This is required!</div>';
        $(this).before(divHint);
        $(this).prev(".formHint").animate({
            marginLeft: "380px",
            opacity: "1"
        }, 200);

    } else {
        $(".agreement").fadeIn();
    }
});

.checkfirst基本上是提交按钮。

有一些.textbox类的字段,其中一些也有.required类。如果此人编辑了输入字段,则会删除.required

因此,当用户点击.checkfirst时,我希望它找到所需的字段,将divHint放在所有字段旁边,然后滚动到所需的第一个输入字段(给出它也集中注意力。)

现在我知道我的代码只是将divHint应用于提交按钮(this)。我需要以某种方式设置一个循环,我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

您正在寻找的函数是jQuery的each()函数。如果将它与某种验证标志变量结合使用,这应该非常简单。例如,您可以在checkfirst单击处理程序中放置类似的内容:

var validated = true;
$(".textbox").each(function(){
    if ($(this).hasClass("required")){
        validated = false;
        //do all the animations here
    }
});
if (validated)
    $(".agreement").fadeIn();