Jquery 如何简化循环

Jquery 如何简化循环,jquery,loops,Jquery,Loops,这是一个for循环。我试图简化它(如降级和去掉循环以便于使用)。 不知道怎么解释,有人能解释一下吗 if(myBox.length>=i){ var微笑=“”; 对于(var x=0;x

这是一个for循环。我试图简化它(如降级和去掉循环以便于使用)。 不知道怎么解释,有人能解释一下吗

if(myBox.length>=i){
var微笑=“”;
对于(var x=0;x
如果要降级,需要从最大值开始运行循环到“0”。如果你写对了,我想代码应该是这样的

if (myBox.length >= i) {
var smile = '';
for (var x = myBox[i].myRating; x > 0; x--){
  smile = smile + '<span>☺</span>';
}
请始终发布完整的代码


我不认为可以完全避免循环,但是可以创建一个实用函数,为您重复字符串,并调用它

function repeatStr(str, num)
{
    var returnStr = '';
    for(var i = 0; i < num; i++)
    {
      returnStr += str;
    }

    return returnStr;
}
函数repeatStr(str,num)
{
var returnStr='';
对于(变量i=0;i
然后在代码中:

if (myBox.length >= i) {
    $('#table').append('<tr><td>' + myBox[i].Title + repeatStr('<span>☺</span>', myBox[i].myRating) + '</td></tr>');
}
if(myBox.length>=i){
$('#table').append(''+myBox[i].Title+repeatStr('☺', myBox[i].myRating)+'';
}

你能澄清你的问题吗???看起来您正试图将
tr
设置为
div
元素的直接子元素。当然,这是无效的HTML标记。编辑:不,等等,渲染的HTML没有任何意义。您先关闭一个div,然后再关闭另一个divtags@vzupo,请注意您编写的代码。我编辑了格式不正确的HTML,选择器
#div
似乎是一个表,而您正在关闭一个从未打开过的
,而
从未关闭过……所以说myBox.length只会变为5,myRating也会变为5,我如何完全摆脱forloops@vzupo请说得更具体些。你想做什么?我想让myRating代表显示var smile=''的微笑数量;对于(var x=0;xif (myBox.length >= i) { $('#table').append('<tr><td>' + myBox[i].Title + repeatStr('<span>☺</span>', myBox[i].myRating) + '</td></tr>'); }