我想在无序列表中循环遍历一组<a>
。
在jQuery中,我会这样做:
$("#list ul li a").each(function (x) {
// Do Stuff
});
这可能是一个简单的问题,但是如何通过函数中显示的id
来传递变量?我想它会是这样的:
var myVar = 'foo';
$("#list ul li a").each(myVar, function (x) {
// Do Stuff
console.log(x);
});
控制台输出:foo
。
但这似乎不起作用,我该怎么做?
答案 0 :(得分:2)
您不需要在each(myVar, function(x)
上传递变量。您可以在myVar
内each
使用var myVar = 'foo';
$("#list ul li a").each(function (x) {
// Do Stuff
console.log(x); // element index
console.log(myVar); //foo
});
。
var myVar = 'foo';
$("#list ul li a").each(myVar, function (x) {
// Do Stuff
console.log(x);
});
请使用此代码查看出错。
funtion
你会得到:
未捕获的TypeError:undefined不是函数
因为将第一个参数表示为function(x)
并且它是一个变量。
永远不会调用each
,因为{{1}}只占用1个参数。
答案 1 :(得分:0)
这是解决方案,
只需使用&#34;这个&#34;像这样的关键字:
var myVar = 'foo';
$("#list ul li a").each(function () {
console.log($(this).attr('id'));
});
由于
答案 2 :(得分:-4)
var myVar = 'foo';
$("#list ul li a").each(myVar, function (id) {
// Do Stuff
console.log(id.attr("id"));
});