在参数列表之后没有捕获的SyntaxError:missing)但它并没有丢失

时间:2016-07-08 06:28:46

标签: javascript jquery

以下是我遇到问题的代码:

<script>
$( "li#1" ).hover(
  function() {
    $( this ).append( $( "<span>Answer 1</span>" ) );
        } function() {    
    $( this ).find( "span:last" ).remove();
    }
);
$( "li#2" ).hover(
  function() {
    $( this ).append( $( "<span>Answer 2</span>" ) );
        } function() {
    $( this ).find( "span:last" ).remove();
    }
);
</script>

li#2没有问题,即使li#1具有相同的语法,但在li#1中的“参数列表之后”得到“Uncaught SyntaxError:missing”。我在哪里错过了括号? NetBeans调试器告诉我它在行中} function(){对于两者都是相同的。

3 个答案:

答案 0 :(得分:1)

您的问题是两个.hover()语句中缺少的逗号。试试这个:

$( "li#1" ).hover(
  function() {
    $( this ).append( $( "<span>Answer 1</span>" ) );
        }, 
  function() {    
    $( this ).find( "span:last" ).remove();
    }
);
$( "li#2" ).hover(
  function() {
    $( this ).append( $( "<span>Answer 2</span>" ) );
        }, 
  function() {
    $( this ).find( "span:last" ).remove();
    }
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li id="1">One: </li>
  <li id="2">Two: </li>

答案 1 :(得分:0)

li#1li#2

的第一个函数定义后,您缺少逗号
$( "li#1" ).hover(
  function() {
    $( this ).append( $( "<span>Answer 1</span>" ) );
  }, //notice comma before function
  function() {     
    $( this ).find( "span:last" ).remove();
  }
);

答案 2 :(得分:0)

您缺少逗号来分隔每个.hover()

中的多个功能
<script>
$( "li#1" ).hover(
    function() {
        $( this ).append( $( "<span>Answer 1</span>" ) );
    }, // <-- comma added here
    function() {    
        $( this ).find( "span:last" ).remove();
    }
);

$( "li#2" ).hover(
    function() {
        $( this ).append( $( "<span>Answer 2</span>" ) );
    }, // <-- comma added here
    function() {
        $( this ).find( "span:last" ).remove();
    }
);
</script>