【问题标题】:jQuery syntax error - unexpected tokenjQuery 语法错误 - 意外标记
【发布时间】:2011-08-09 16:44:32
【问题描述】:

我正在尝试调试,但不断收到语法错误。我不确定这是怎么回事。我试图让它在哪里,如果我点击一个附加到“$color_cell”的对象,它会将 atrr("id") 推入 black_colors 数组。

有人可以帮我解决这个问题吗?提前致谢。

<script src="jquery-1.6.2.js"></script>
<script type="text/javascript">

var ids = [];
var black_colors = [];
var blue_colors = [];
var brown_colors = [];
var gray_colors = [];
var green_colors = [];
var orange_colors = [];
var pink_colors = [];
var purple_colors = [];
var red_colors = [];
var teal_colors = [];
var white_colors = [];
var yellow_colors = [];


$(document).ready(function($) {


    $(".btnColor").click(function(){

        $(".color_cell").click(function(){

            if $(this).attr("id") == "black"{

            black_colors.push($(this).attr("id"));

    }

        });

    });

});

</script>
<br>
<br>
    <button type="button" class="btnColor" id="black">Black</button>&nbsp;
    <button type="button" class="btnColor" id="blue">Blue</button>&nbsp;
    <button type="button" class="btnColor" id="brown">Brown</button>&nbsp;
    <button type="button" class="btnColor" id="gray">Gray</button>&nbsp;
    <button type="button" class="btnColor" id="green">Green</button>&nbsp;
    <button type="button" class="btnColor" id="orange">Orange</button>&nbsp;
    <button type="button" class="btnColor" id="pink">Pink</button>&nbsp;
    <button type="button" class="btnColor" id="purple">Purple</button>&nbsp;
    <button type="button" class="btnColor" id="red">Red</button>&nbsp;
    <button type="button" class="btnColor" id="teal">Teal</button>&nbsp;
    <button type="button" class="btnColor" id="white">White</button>&nbsp;
    <button type="button" class="btnColor" id="yellow">Yellow</button>&nbsp;

【问题讨论】:

    标签: javascript jquery syntax-error


    【解决方案1】:

    而不是:如果 $(this).attr("id") == "black"

    if ($(this).attr("id") == "black")
    

    【讨论】:

      【解决方案2】:

      您的代码中有很多错误。

      <script src="jquery-1.6.2.js"></script>
      

      应该变成:

      <script type="text/javascript" src="jquery-1.6.2.js"></script>
      

      和:

      $(document).ready(function($) {
      

      应该变成:

      $(document).ready(function() {
      

      和:

      if $(this).attr("id") == "black"{
      

      应该变成:

      if ($(this).attr("id") == "black") {
      

      而且您还嵌套了两个不正确的 .click() 处理程序。

      这样你终于有了:

      <script type="text/javascript" src="jquery-1.6.2.js"></script>
      <script type="text/javascript">
      
      var ids = [];
      var black_colors = [];
      var blue_colors = [];
      var brown_colors = [];
      var gray_colors = [];
      var green_colors = [];
      var orange_colors = [];
      var pink_colors = [];
      var purple_colors = [];
      var red_colors = [];
      var teal_colors = [];
      var white_colors = [];
      var yellow_colors = [];
      
      $(document).ready(function() {
          $(".color_cell").click(function() {
              // Can't see any color_cell class in your markup
              // so no idea what you want to do if the DOM element with it is clicked
          });
      
          $(".btnColor").click(function() {
              if ($(this).attr("id") == "black") {
                  black_colors.push($(this).attr("id"));
              }
          });
      });
      </script>
      

      【讨论】:

      • 只有最后一个是真正的错误。 HTML5 中的默认脚本语言是 JavaScript(好吧,我们不知道它是否是 HTML5)并且 jQuery 将对自身的引用作为第一个参数传递给准备好的处理程序。
      【解决方案3】:

      我认为您的 javascript 语法不太正确。试试这个:

      $(document).ready(function($) {
          $(".btnColor").click(function(){
              $(".color_cell").click(function(){
                  if ($(this).attr("id") == "black") {
                     black_colors.push($(this).attr("id"));
                   }
              });
          });
      });
      

      【讨论】:

        猜你喜欢
        • 2013-09-04
        • 1970-01-01
        • 1970-01-01
        • 2015-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-03
        相关资源
        最近更新 更多