附加文本Uncaught SyntaxError:Unexpected token for

时间:2016-01-21 11:38:03

标签: javascript jquery

我有一个我要打印的数组。

list_to_arry = ["a","b","c"];

$(".tooltip").append(for(var i =0; i< list_count.length; i++){list_to_array[i]});

然后我得到了一个像Uncaught SyntaxError: Unexpected token for

这样的错误

我也以这种方式尝试过

for(var i =0; i< list_count.length -1; i++){
    $(".tooltip").append(list_to_array[i]+"<br>");
}

但它没有打印任何东西

4 个答案:

答案 0 :(得分:3)

append()接受函数或字符串。您不能在其中放置for循环,而是将其更改为:

var list_to_array = ["a","b","c"];
var list_count = list_to_array.length;
$(".tooltip").append(function () {
  final = "";
  for (var i = 0; i < list_count; i++)
    final += list_to_array[i];
  return final;
});

同时检查拼写。一切都错了。您已使用list_to_arry开始,然后转到list_to_array

最终工作代码

var list_to_array = ["a","b","c"];
var list_count = list_to_array.length;
$(".tooltip").append(function () {
  final = "";
  for (var i = 0; i < list_count; i++)
    final += list_to_array[i];
  return final;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="tooltip"></div>

如果类似,您也可以使用Array.prototype.join()

var list_to_array = ["a","b","c"];
$(".tooltip").append(list_to_array.join(""));

以上也给出了相同的结果。

A. Wolff

的终极解决方案

.append()也包含一个数组:

var list_to_array = ["a","b","c"];
$(".tooltip").append(list_to_array);

所以这也应该有用。 :)

答案 1 :(得分:1)

哦,天啊!这是一个简单的拼写错误。

但是你的第一个片段在语法上是错误的,因为append将函数作为参数,但是你在那里提供了一个for循环。正确的是第二个,这只是一个拼写错误,使用arry而不是array。检查以下内容:

for(var i =0; i < list_to_array.length; i++){
    $(".tooltip").append(list_to_arry[i]+"<br>");
}   // --------------------------^^^^---- Typo here. Use of "arry" instead of array.

我怀疑list_count。也许你应该用list_to_arry替换它。

或者没有循环,您可以使用.join('<br>')

var list_to_arry = ["a", "b", "c"];
$(".tooltip").append(list_to_arry.join("<br>"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='tooltip'></div>

答案 2 :(得分:0)

使用list_count替换for循环中的 list_to_arry

您编写了错误的数组名称:

for (var i =0; i< list_to_arry.length -1; i++) {
    $(".tooltip").append(list_to_array[i]+"<br>");
}

顺便说一句,你不能在for方法中直接放置.append()循环。

答案 3 :(得分:0)

.append

  

含量

     

键入:htmlString或Element或Array或jQuery   DOM元素,元素数组,HTML字符串或要在匹配元素集中的每个元素末尾插入的jQuery对象。

这可以帮助您了解错误的原因。

此外,在循环内操作DOM是一种不好的做法。您应该创建一个HTML字符串并执行批量操作。

具有批量操作的简单循环

var list_to_arry = ["a", "b", "c"];
var html = "";

for (var i = 0; i < list_to_arry.length; i++) {
    html+= list_to_arry[i]
}

$(".tooltip").append(html);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<div class="tooltip"></div>

Array.join

如果您的数据结构很简单,您甚至可以使用array.join()

var list_to_arry = ["a", "b", "c"];

$(".tooltip").append(list_to_arry.join("<br/>"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<div class="tooltip"></div>