【问题标题】:Unexpected Token ILLEGAL on Javascript For LoopJavascript For 循环上的意外令牌非法
【发布时间】:2015-05-01 13:10:36
【问题描述】:

我正在尝试编写一个简单的随机器,它将单独随机设置组的背景位置。

HTML:

<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>
<div class="button"></div>

CSS:

.button{
    width: 100px;
    height: 40px;
    background:url(redMetal.jpg) no-repeat;
    border: 1px solid #ff0000;
    display: inline-block;
    float: left;
    margin: 20px;
    text-align: center;
    color: #fff;
}

Javascript:

var button = document.getElementsByClassName("button");
    for (var i = 0; i < button.length; i++) {
        x = Math.random() * (3499 - 0) + 0;
        y = Math.random() * (2359 - 0) + 0;
        button[i].style.backgroundPosition =  (x * -1) + "px" + (y * -1) + "px";
        button[i].innerHTML = i;
    }​

当我这样做时,我在 for 循环的右花括号之后得到一个 UNCAUGHT SYNTAXERROR: Unexpected token ILLEGAL,我不明白为什么。

【问题讨论】:

  • 那是因为你在右大括号后面有一个非法字符。 Represented by the red dot here.。请注意,我直接从您的问题中复制了此代码。
  • 这是你所有的 JavaScript,还是在 for 循环之后还有什么?
  • 代码看起来有效。也许您的脚本末尾有一些不可见且无效的字符。
  • 这是我的 100% 的 javascript,for 循环之后什么都没有。我仔细检查并删除了所有不间断的空格,它很干净。

标签: javascript html css for-loop syntax-error


【解决方案1】:

你在最后一个花括号后面确实有一个非法字符,看看我得到了什么copy-pasting that code on jsfiddle,注意红点。

    button[i].innerHTML = i;
}​*

使用其他编辑器打开该文件,例如vim 使用:set list 检查奇怪的字符。

【讨论】:

  • 我也看到了,粘贴到 jFiddle 后。谢谢。
  • 墨菲,重写最后几行可能是删除该字符的唯一方法......
  • 我做了...我将其标记为正确答案..我只需要等到网站允许我。
  • 关于那个不可打印的字符是如何到达那里的,我在做 webdev 时发生了类似的事情(失去了一个下午才明白这一点),在一个流浪的虚拟机上使用 nginx...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-07
相关资源
最近更新 更多