我正在尝试动态生成以下HTML:
<ul>
<li>Butter Extra</li>
<li>Butter Extra</li>
</ul>
我是这样尝试的:
var toppingval = 'Butter Extra,Butter Extra';
if (toppingval.indexOf(",") > 0)
{
var array = toppingval.split(',');
var uitaghtml = '<ul>' +
for (var z = 0; z < array.length; z++)
{
'<li>' + array[z] + '</li>' +
}
'</ul>';
}
但是当我尝试这个时,它会在控制台中抛出异常
Uncaught SyntaxError: Unexpected token for
有人可以让我知道如何解决这个问题吗?
答案 0 :(得分:3)
您尝试将for
循环连接到字符串。那不是一件事。创建一个您在for
循环中连续附加的新变量。
var toppingval = 'Butter Extra,Butter Extra';
if (toppingval.indexOf(",") > 0) {
var array = toppingval.split(',');
var uitaghtml = '<ul>';
for (var z = 0; z < array.length; z++) {
uitaghtml = uitaghtml + '<li>' + array[z] + '</li>';
}
uitaghtml = uitaghtml + '</ul>';
}
答案 1 :(得分:0)
你正在尝试做一些你做不到的事情。从语法上讲,您不能打开追加的运算符+
- 您要尝试执行此操作,而是将li
添加到ul
中。试试这个:
var uitaghtml = $('<ul></ul>');
for (var z = 0; z < array.length; z++)
{
uitaghtml.append($("<li>" + array[z] + "</li>"));
}