故事:我需要将JQuery('')存储到一个数组中以便进一步工作。
我的半功能解决方案(无法正常工作):
var myArray = new Array();
var $selected_place;
function addPlace(){
var new_place = jQuery('<div/>', {
class: 'place'
});
new_place.click(function(){
doSomething($(this));
});
myArray[myArray.length] = new_place;
}
问题:
function doSomething(link) {
var number;
for (var i = 0; i < myArray.length; i++){
if (myArray[i] == link){
number= i;
break;
} //end of if
} //end of for
alert(number);
} //end of function
警报始终只返回'undefined'。
解决方案:
为全局变量替换$(this)解决了我的问题,现在它正常工作。 $ selected_place = new_place; 并在doSomething方法/函数中使用if语句 myArray [i] == $ selected_place
答案 0 :(得分:0)
selected_place和/或myArray为空。 将它作为参数传递给函数doSomething()
答案 1 :(得分:0)
这可能是因为myArray不包含$ selected_place的值。您可能以错误的顺序调用函数。
虽然只是一个挑剔:
您可以使用myArray.push(new_place)
来完成myArray[myArray.length] = new_place;