我有这段代码:
$j(".attribute-option-images").each(closeSelectBox(index,el));
然后:
closeSelectBox = function(index,el)
{
// stuff
}
但我得到的只是:
Uncaught ReferenceError: index is not defined
那么如何将迭代元素发送到closeSelectBox
?
答案 0 :(得分:3)
在第一行中,您调用方法closeSelectBox()
,但您希望将其传递给each()
。
签名是匹配的,因此您需要做的就是将该行重写为:
$j(".attribute-option-images").each(closeSelectBox);
交出功能,而不是返回值!
消息"索引未定义" state,在第一行中,index实际上没有定义,但它在下面的函数定义中定义。
答案 1 :(得分:1)
尝试
$j(".attribute-option-images").each(function(index, el) {
closeSelectBox(index,el)
});
此代码closeSelectBox(index,el)
会立即执行,因为您没有收到索引错误。使用不带括号的
$j(".attribute-option-images").each(closeSelectBox);
function closeSelectBox(index,el){
}