它应该增加一个号码给李权,所以第一个LI会在前面加上数字1,第二个李会在前面加上2等jQuery:为什么这个小函数不起作用?
也,是i = i+1;
和i++;
一样吗?如果不是,有什么区别?
http://jsfiddle.net/nicktheandroid/U8byW/9/
它应该增加一个号码给李权,所以第一个LI会在前面加上数字1,第二个李会在前面加上2等jQuery:为什么这个小函数不起作用?
也,是i = i+1;
和i++;
一样吗?如果不是,有什么区别?
http://jsfiddle.net/nicktheandroid/U8byW/9/
你有一些很破,并在你的代码搞砸简单和双引号,更何况,你正试图修改i
可变过你的循环是不是一件好事。试试这样:
$('li').each(function (index) {
$(this).append(
$('<span/>').addClass('commentnumber').text('#' + (index + 1))
);
});
或者如果你喜欢(但要小心的简单和双引号):
$('li').each(function (index) {
$(this).append('<span class="commentnumber">#' + (index + 1) + '</span>');
});
而且demo here。
这条线的问题是:
$(this).append("<span class="commentnumber"> #' i '</span>");
使用这个代替:
$(this).append("<span class='commentnumber'> #" + i + "</span>");
注意,字符串分隔符现配和使用+的以连接字符串。
当更新你的代码,它的工作原理 - http://jsfiddle.net/U8byW/14/
是的,i = i + 1;
相同i++
单个行语句。
尝试这种解决方案:http://jsfiddle.net/U8byW/10/
你有没有和你分别的问题:
class="commentnumber"
,你打破了JS的字符串,导致错误(Uncaught SyntaxError: Unexpected identifier
)i
:jQuery为你处理。但要回答你的问题,i = i + 1
和i++
是大致相同的事情,是的。区别在于i = i + 1
返回新值(添加了1的新值),而i++
返回旧值,然后将其加1。您也可以使用i += 1
或++i
。所有这些都是粗略的等同物。+
)与加法运算符(+
)相同,不像某些语言(例如PHP,其中级联是.
)。希望这会有所帮助。
编辑:我意识到你为什么增加i
:让行从1开始而不是0。忽略我说你不需要增加它。我没有直截了当地想。
重新标记,我相信jQuery与Javascript有关:) – 2011-01-29 19:14:11