function abc()
{
var str = ""; // -------------------(4)
for (var i = 0; i < 100 ; i++)
{
str = "<tr><td>"; // ------------------(1)
for(var m = 1 ; m <= cnt_chapter ; m++)
{
str = str + "<span>" + m +"</span> "; // -------------(2)
}
str = str + "</td></tr>"; // ------------(3)
}
$(".title").append(str);
}
此代码是jquery代码的一部分。 我想在(1)和(3)
之间创建代码但是不要工作(2)代码。
我的代码有什么问题?
答案 0 :(得分:2)
cnt_chapter
未定义此处也是附加
var cnt_chapter = 10;
function abc()
{
var str = "";
for (var i = 0; i < 10 ; i++)
{
str += "<tr><td>";
for(var m = 1 ; m <= cnt_chapter ; m++)
{
str = str + "<span>" + m +"</span> ";
}
str = str + "</td></tr>";
}
$(".title").append(str);
}
abc();
答案 1 :(得分:2)
function abc()
{
var str = ""; // -------------------(4)
for (var i = 0; i < 100 ; i++)
{
str += "<tr><td>"; // ------------------(1)
for(var m = 1 ; m <= cnt_chapter ; m++)
{
str += "<span>" + m +"</span> "; // -------------(2)
}
str += "</td></tr>"; // ------------(3)
}
$(".title").append(str);
}
答案 2 :(得分:1)
我想你想要:
function abc() {
var str = "";
for (var i = 0; i < 100 ; i++) {
str += "<tr><td>";
for(var m = 1 ; m <= cnt_chapter ; m++){
str = str + "<span>" + m +"</span> ";
}
str += "</td></tr>";
}
$(".title").append(str);
}
请注意,您需要保留上一次迭代中的HTML,因此您应该将<tr>
附加到现有的str
值,而不是替换它。
答案 3 :(得分:0)
每次围绕外部循环擦除字符串,因此它只有一行HTML行。
标记为(1)
的广告代码也应使用str = str + ...
,而不是str = ...
答案 4 :(得分:0)
虽然这是一个写得不好的代码,但是没有执行它的原因是没有定义变量cnt_chapter
。人们已经提到没有分号,并且正在构建的字符串正在外循环等中被替换。这些是逻辑错误。即使有这些逻辑错误,如果变量cnt_chapter
已被正确声明和初始化,那么代码应该已经很好地执行以产生一些错误的结果。