使用while循环重复jquery语句

时间:2014-09-10 02:33:50

标签: javascript jquery while-loop

我是JavaScript / jQuery的新手。我有一个链接到页面的脚本文件。我试图在文件中使用while循环重复一个简单的jQuery语句。以下是代码示例。如何在while循环中重复它们?

代码:

e(".rwpt_testimonials .rwpt_quotes ul li:nth-child(1)").addClass("quote_1");
e(".rwpt_testimonials .rwpt_quotes ul li:nth-child(2)").addClass("quote_2");
e(".rwpt_testimonials .rwpt_quotes ul li:nth-child(3)").addClass("quote_3");
e(".rwpt_testimonials .rwpt_quotes ul li:nth-child(4)").addClass("quote_4");
e(".rwpt_testimonials .rwpt_quotes ul li:nth-child(5)").addClass("quote_5");
e(".rwpt_testimonials .rwpt_quotes ul li:nth-child(6)").addClass("quote_6");
e(".rwpt_testimonials .rwpt_quotes ul li:nth-child(7)").addClass("quote_7");
e(".rwpt_testimonials .rwpt_quotes ul li:nth-child(8)").addClass("quote_8");
e(".rwpt_testimonials .rwpt_quotes ul li:nth-child(9)").addClass("quote_9");
e(".rwpt_testimonials .rwpt_quotes ul li:nth-child(10)").addClass("quote_10");

我正在尝试但没有工作:

var i = 0;
while( i < 10 ) {
return 'e(".rwpt_testimonials .rwpt_photos ul li:nth-child(' + i + ')").addClass("quote_' + i + '");';
  i++;
}

2 个答案:

答案 0 :(得分:1)

您可以使用jQuery方法.each()遍历每个列表项。

JS(jQuery):

$('.rwpt_testimonials .rwpt_quotes ul li').each(function(i) {
    $(this).addClass('quote_'+(i+1));
});

这里是fiddle

答案 1 :(得分:0)

return仅在函数中用于返回值。在这里,您可以直接执行e

var i = 0;
while( i < 10 ) {
    e(".rwpt_testimonials .rwpt_photos ul li:nth-child(" + i + ")").addClass("quote_" + i);
    i++;
}

但是,当您知道要循环的次数时,通常会使用for循环(而不是while):

for(var i = 0; i < 10; ++i) {
    e(".rwpt_testimonials .rwpt_photos ul li:nth-child(" + i + ")").addClass("quote_" + i);
}

为了提高效率和可维护性,您可能想重新考虑一下您正在做的事情。