使用jQuery在单个元素内遍历

使用jQuery在单个元素内遍历,jquery,Jquery,我是jQuery新手,来自prototype。我正在尝试遍历表单,以便在表单提交之前进行一些验证。页面上有同一表单的多个版本,带有css类,但没有单独的ID 以下是我将如何在原型中实现它: $$(".validatedForm").each( function(form) { form.observe("submit", function(event) { var vForm = event.findElement("form"); var vCheckb

我是jQuery新手,来自prototype。我正在尝试遍历表单,以便在表单提交之前进行一些验证。页面上有同一表单的多个版本,带有css类,但没有单独的ID

以下是我将如何在原型中实现它:

$$(".validatedForm").each( function(form) {
    form.observe("submit", function(event) {
        var vForm = event.findElement("form");
        var vCheckbox = vForm.down(".validatedCheckbox");

        if (vCheckbox.checked)
           return true;

        alert("Please accept the Terms and Conditions first");
        event.stop();
        return false;
    }
}

我在jQuery中遇到的问题是,我不能在“event.target”元素上使用遍历方法,因为它没有像prototype那样进行扩展-如果我用dollarsign将其包围,我会得到页面上的每个表单

以下是
jQuery
的等价物:

$(".validatedForm").submit(function(e) {
     var shouldSubmit = false;
     $(this).children(".validatedCheckbox").each(function() {
        if($(this).attr('checked')) {
           shouldSubmit = true;
           return; //return from closure.
        }
     });
     if(!shouldSubmit) {
         alert("Please accept the Terms and Conditions first");
         e.preventDefault();
     } 
});

每个都是无关的。。。只需调用$('.validatedForm').submit(函数(事件){…});`将迭代添加处理程序的所有表单。@prodigitalson,是的。我忘了把它弄平。谢谢谢谢看起来它指向了正确的方向,但是,第4行的vCheckbox没有设置在任何地方。我应该将其设置为什么?别忘了单击正确答案旁边的空心复选标记!:)