var name = new Array('freddy', 'mac', 'fanny', 'may');
var content = 'hi '.+name[i]+.'!';
$('div.class').each(function (i) {
this.html(content);
});
这个javascript应该输出 嗨freddy! 嗨,你好! 嗨,范妮! 嗨可能!
但是var有一个错误,因为它引用了尚未设置的数组。
答案 0 :(得分:3)
您正在为content
变量赋值,并在分配值时评估值,而不是在使用变量时。即普通值不能包含对另一个值的引用。
你可以使它成为一个在调用时评估值的函数:
var name = new Array('freddy', 'mac', 'fanny', 'may');
var content = function(i) { return 'hi ' + name[i] + '!'};
$('div.class').each(function (i) {
$(this).html(content(i));
});
答案 1 :(得分:2)
您没有正确对报价进行排序,并且由于在分配内容时i
不存在,因此无论如何都无法正常工作。你应该试试这个:
var content = 'hi, {0}!';
$('div.class').each(function(i) {
this.html(content.replace("{0}", name[i]));
});