使用jQuery.each()时函数何时执行?

使用jQuery.each()时函数何时执行?,jquery,Jquery,给定以下jQuery表达式 $("form").each(function () { var info = validationInfo(this); if (info) { info.attachValidation(); } }); 选择器选择页面上的所有表单,然后为找到的每个“表单”附加一个函数 我的问题是,这个函数中的JS实际上什么时候运行?函数中的JS在连接时是否执行?在运行时是attachVal

给定以下jQuery表达式

    $("form").each(function () {
        var info = validationInfo(this);
        if (info) {
            info.attachValidation();
        }
    });
选择器选择页面上的所有表单,然后为找到的每个“表单”附加一个函数


我的问题是,这个函数中的JS实际上什么时候运行?函数中的JS在连接时是否执行?

在运行时是
attachValidation()?它在循环中被调用后立即执行。

何时运行
attachValidation()
?它在循环中被调用后立即执行。

这一切都取决于代码所在的位置

如果将该代码块包括在
$(function(){…}
块中,则会运行该代码块,该代码块:

尽管基于您的用例,您可能希望在发生用户事件(如单击按钮)时验证所有表单。在这种情况下,您必须在用户单击按钮时执行的函数中包含代码:

//Bind function to button
$("#mybutton").live('click', doValidation);

//Do validation
function doValidation() {
    $("form").each(function () {
        var info = validationInfo(this);
        if (info) {
            info.attachValidation();
        }
    });
}

这完全取决于代码所在的位置

如果将该代码块包括在
$(function(){…}
块中,则会运行该代码块,该代码块:

尽管基于您的用例,您可能希望在发生用户事件(如单击按钮)时验证所有表单。在这种情况下,您必须在用户单击按钮时执行的函数中包含代码:

//Bind function to button
$("#mybutton").live('click', doValidation);

//Do validation
function doValidation() {
    $("form").each(function () {
        var info = validationInfo(this);
        if (info) {
            info.attachValidation();
        }
    });
}

我想在我们回答这个问题之前,你需要告诉我们什么是
validationInfo()
attachValidation()
。函数中的JS在调用时运行。我感谢迄今为止所有的答案。似乎我提交了一个不好的示例。我想用一个更好的更新它(我认为无论如何都是这样),但它会使已经给出的帖子无效。我应该启动另一个线程吗?还是应该编辑原始问题中的代码?不确定协议只是为了澄清:
。each()
方法不会将函数“附加”到每个表单。它只是执行函数。绑定事件时,术语“附加一个函数”是正确的,这里不是这样。
.each()
只是在一个集合中迭代-没有更多,也没有更少。我想你需要告诉我们什么是
validationInfo()
attachValidation()
我们还没来得及回答这个问题。函数中的JS会在调用时运行。我很感激迄今为止的所有答案。似乎我提交了一个不好的示例。我想用一个更好的示例来更新它(我认为无论如何都是这样),但它会使已经给出的帖子无效。我应该启动另一个线程吗?还是应该编辑原始问题中的代码?不确定协议只是为了澄清:
。each()
方法不会将函数“附加”到每个表单。它只是执行函数。绑定事件时,术语”附加一个函数“是正确的,这里不是这样的。
.each()
只是在一个集合中迭代-没有更多,没有更少。我还想说什么?这是一个相当简单的问题,应该得到一个相当简单的答案。我还想说什么?这是一个相当简单的问题,应该得到一个相当简单的答案。”这段代码本身永远不会运行。”……当然会,如果它位于任何
元素之后……您的第一行是一个错误的语句。这很公平。关键是这一切都取决于代码的位置。……更新了帖子。……这段代码本身永远不会运行。“…当然会的,如果它位于任何
元素之后…你的第一行是一个不正确的语句。这很公平。关键是这一切都取决于代码的位置..更新了帖子..”。。