javascript - 为 .each() 单独声明一个函数
问题描述
我想单独声明一个函数并将其用于类上的每个循环。该函数只是为属于同一类的每个元素分配一个序列化的 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
});
推荐阅读
- android - 无法创建变体“android-manifest-metadata”
- python - 为二进制分类调整 tensorflow LSTM 代码
- php - 获取除静态属性外的所有属性
- .net - 使用 BinaryFormatter 反序列化未知类型的 .NET 对象
- ios - PDFKit 出现错误 -[PDFView setAutoScales:]: unrecognized selector sent to instance
- certificate - WinSCP - 自动接受任何证书
- jmeter - jmeter中时间戳的参数化
- javascript - 不和谐马尔可夫链
- android - 错误:当我们开始生成发布构建时,android定义的类与Android现在提供的类冲突
- javascript - AJAX:如何读取 JSON 数据