SCRIPT1002: Syntax Error, Line 1 Character 6

2019-02-12 13:11发布

问题:

In the IE developer (F12) console, I've managed to get my pages to run without errors; all but one!

SCRIPT1002: Syntax error
mypage.php, line 1 character 6

I am using IE9. Whats it's problem?

This is my code:

<!DOCTYPE html>
<head>
  <script type='text/javascript' src='/files/jquery-1.7.2.min.js'></script>
  <script type="text/javascript">
    $(document).ready(function() {
      $("#donateButton").click(function() {
        alert('hey');
      });
    });
  </script>
</head>
<body>
  <a href="javascript:void();" id="donateButton">asdsadasd</a>
</body>

When I click on #donateButton an error is produced. However, when I change javascript:void() to # then no error occurs any more. Why?

回答1:

"WAIT... does IE9 not like <a href="javascript:void();" id="donateButton"> ?? It seems thats the problem..?"
— Comment by Chud37

Yes, that is the problem. void is an operator, not a function. Use javascript:void 0 , javascript:void(0) or #. Even better, add event.preventDefault() to your function:

$('#donateButton').click(function(ev) {
    ev.preventDefault();
    alert('hello');
});


回答2:

The error might stem from the space you have between function and ()

try this

<script type='text/javascript' src='files/jquery-1.7.2.min.js'></script>

    <script type="text/javascript">
    $(document).ready(function() {

        $('#donateButton').click(function() {
            alert('hello');     
        });
    });

    </script>