为 .each() 单独声明一个函数
Declare a function separately for .each()
我想单独声明一个函数并将其用于 class 上的每个循环。该函数只是为属于同一 class 的每个元素分配一个序列化 id。当声明和调用函数时它工作正常:-
$(document).ready(function(){
$(".item-input").each(function (index,object){
var current_id = $(this).attr('id');
var new_id = current_id+index;
$(this).attr('id',new_id);
});
});
但是,当我将函数调用与声明分开时。它不起作用并引发异常。
function id_serializer(i,obj){
var current_id = $(this).attr('id');
var new_id = current_id+i;
$(this).attr('id',new_id);
}
$(document).ready(function(){
$(".item-input").each(id_serializer(i,obj));
});
它引发了以下异常:
jQuery.Deferred exception: i is not defined ReferenceError: i is not defined
jquery.min.js:2 Uncaught ReferenceError: i is not defined
需要帮助...
$(document).ready(function() {
$(".item-input").each(id_serializer(i,obj)); // You are calling function inside .each
});
更新如下
$(document).ready(function() {
$(".item-input").each(id_serializer); // Just pass the callback function instead
});
我想单独声明一个函数并将其用于 class 上的每个循环。该函数只是为属于同一 class 的每个元素分配一个序列化 id。当声明和调用函数时它工作正常:-
$(document).ready(function(){
$(".item-input").each(function (index,object){
var current_id = $(this).attr('id');
var new_id = current_id+index;
$(this).attr('id',new_id);
});
});
但是,当我将函数调用与声明分开时。它不起作用并引发异常。
function id_serializer(i,obj){
var current_id = $(this).attr('id');
var new_id = current_id+i;
$(this).attr('id',new_id);
}
$(document).ready(function(){
$(".item-input").each(id_serializer(i,obj));
});
它引发了以下异常:
jQuery.Deferred exception: i is not defined ReferenceError: i is not defined
jquery.min.js:2 Uncaught ReferenceError: i is not defined
需要帮助...
$(document).ready(function() {
$(".item-input").each(id_serializer(i,obj)); // You are calling function inside .each
});
更新如下
$(document).ready(function() {
$(".item-input").each(id_serializer); // Just pass the callback function instead
});