如何在.each(函数)遍历中使用已定义的函数

时间:2014-05-31 09:42:03

标签: jquery each

如果xml是某个xml文件的内容,则以下代码可以正常工作: 它找到了“事件”#39;元素并警告其子元素的内容(名称+ loc)的串联。

$(xml).find('event').each(function(){
       var name = $(this).find("name").text();
       var loc =$(this).find("loc").text();
       alert(name + loc);
});

我想单独定义适用于每个事件元素的函数。 这样的事情,但这是一个错误的方式:

$(xml).find('event').each(procNode(this));

function procNode(this){
       var name = $(this).find("name").text();
       var loc =$(this).find("loc").text();
       alert(name + loc);
}

我怎样才能以正确的方式做到这一点? 不幸的是,我从谷歌获得的.each()的所有例子都在.each()中定义了函数。

1 个答案:

答案 0 :(得分:2)

您无需明确地将this引用传递给该函数。

尝试,

$(xml).find('event').each(procNode);

function procNode(){
       var name = $(this).find("name").text();
       var loc =$(this).find("loc").text();
       alert(name + loc);
}

顺便提一下,在.each()函数调用中调用该函数,只需要传递该函数的reference