我有以下代码,它说出意外的令牌<
,但所有<
个符号都在正确的位置。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var scores = [84, 99, 91, 65, 87, 55, 72, 68, 95, 42],
topScorers = [], scoreLimit = 90;
for (i=0; i<=scores.length; i++)
{
if (scores[i]>scoreLimit)
{
<span class="skimlinks-unlinked">topScorers.push(scores</span>[i]);
}
}
<span class="skimlinks-unlinked">console.log(topScorers</span>);
</script>
</body>
</html>
答案 0 :(得分:3)
您无法通过<span></span>
在JavaScript中创建HTML元素。
如果要创建HTML元素,请使用createElement
函数。
var span = document.createElement('span');
span.className = 'skimlinks-unlinked';
现在你可以用你想要的任何信息填充它,然后将它附加到身体上。
span.innerHTML = scores[i];
document.body.appendChild(span);
答案 1 :(得分:2)
您的<span>
部分中有多个<script />
个标签,不应该存在。
这不是PHP:如果你想用JavaScript操作DOM,那么插入/追加元素。
我建议使用像jQuery这样的JavaScript库,因为它可以大大简化DOM操作 jQuery中的示例:
$("body").append('<span class="skimlinks-unlinked">' + topScorers[i] + '</span>');
答案 2 :(得分:0)
在您的代码中,您将JavaScript代码块中的HTML标记混合在一起。只要您在<script> … </script>
内,JavaScript的规则就会适用,而且这些字符无效。
这些skimlinks-unlinked
内容是某些Wordpress网站上破坏的代码格式化程序的一部分。因此,您可能会从某个地方复制/粘贴代码而不知道它的含义,期望它能够正常工作。不幸的是,代码格式化程序添加了破坏代码的东西。如果删除该标记,代码应按预期工作:
<script>
var scores = [84, 99, 91, 65, 87, 55, 72, 68, 95, 42],
topScorers = [], scoreLimit = 90;
for (i=0; i<=scores.length; i++)
{
if (scores[i]>scoreLimit)
{
topScorers.push(scores[i]);
}
}
console.log(topScorers);
</script>
对于某些背景信息,“skimlinks”似乎是Wordpress网站的广告插件(其中一个自动链接某些流行语的讨厌的插件),并且在代码块中也错误地做了这个,打破了代码。您可以阅读有关该问题的更多信息here。