Jquery函数返回值

我创建了一个迭代UL / LI的函数。 这很好用,我的问题是将值返回到另一个变量。 这有可能吗? 什么是最好的方法? 谢谢!

function getMachine(color, qty) { $("#getMachine li").each(function() { var thisArray = $(this).text().split("~"); if(thisArray[0] == color&& qty>= parseInt(thisArray[1]) && qty<= parseInt(thisArray[2])) { return thisArray[3]; } }); } var retval = getMachine(color, qty); 

我不完全确定该函数的一般用途,但您可以始终这样做:

 function getMachine(color, qty) { var retval; $("#getMachine li").each(function() { var thisArray = $(this).text().split("~"); if(thisArray[0] == color&& qty>= parseInt(thisArray[1]) && qty<= parseInt(thisArray[2])) { retval = thisArray[3]; return false; } }); return retval; } var retval = getMachine(color, qty); 

你拥有的return语句停留在内部函数中,因此它不会从外部函数返回。 你只需要更多的代码:

 function getMachine(color, qty) { var returnValue = null; $("#getMachine li").each(function() { var thisArray = $(this).text().split("~"); if(thisArray[0] == color&& qty>= parseInt(thisArray[1]) && qty<= parseInt(thisArray[2])) { returnValue = thisArray[3]; return false; // this breaks out of the each } }); return returnValue; } var retval = getMachine(color, qty);