Javascript:未捕获的 SyntaxError:意外的令牌 <

Posted

技术标签:

【中文标题】Javascript:未捕获的 SyntaxError:意外的令牌 <【英文标题】:Javascript: Uncaught SyntaxError: Unexpected token < 【发布时间】:2016-10-23 05:21:35 【问题描述】:

我有一个名为 table_java.js 的 js 文件,我正试图让它在我的 html 文件 test.html 中工作。 我不断收到错误,Uncaught SyntaxError: Unexpected token &lt; 我认为问题在于 js 文件被作为文本文件读取。但我不确定这是否是问题/不知道如何解决它。任何帮助/建议将不胜感激。

这里是 table_java.js

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

                // Setup - add a text input to each footer cell
                $('#POGs_table tfoot th').each( function () 
                    var title = $(this).text();
                    $(this).html( '<input type="text" placeholder="Search '+title+'" />' );
                 );

            var table = $('#POGs_table').DataTable( 
                "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
                "order": [[0,"asc"]],
                "aoColumnDefs": [  "sSortDataType": "numeric", "aTargets": [3,4,5]  ]
             );


                // Apply the search
                table.columns().every( function () 
                    var that = this;

                    $( 'input', this.footer() ).on( 'keyup change', function () 
                            if ( that.search() !== this.value ) 
                                that
                                        .search( this.value )
                                        .draw();
                            
                    );
                );
            //Hide/Show function
            $('a.showHideColumn').on('click', function() 

                var tableColumn = table.column($(this).attr('data-columnindex'));
                tableColumn.visible(!tableColumn.visible());
            );
        );
-->
</script>

这里是 test.html 的头部

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Phage Orthologous Groups</title>
    <link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.12/css/jquery.dataTables.min.css">
    <link rel="stylesheet" type="text/css" href="krist_datatables.css">
    <link rel="stylesheet" type="text/css" href="table_try.css">
    <script type="text/javascript" charset="utf8" src="http://code.jquery.com/jquery-1.12.0.min.js"></script>
    <script type="text/javascript" src="http://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
    <script  type="text/javascript" src="table_java.js"></script>
</head>

【问题讨论】:

脚本中不需要 &lt;!----&gt;script 标记 【参考方案1】:

从 table_java.js 中移除标签,它已经是 JS 脚本了

【讨论】:

同时删除开头的 。这些用于 HTML cmets。【参考方案2】:

--&gt; 不是有效的 JavaScript。必须转义://--&gt;

现在您不需要脚本块中的 html cmets。任何仍在使用古老到不支持 &lt;script&gt; 的浏览器的人都是恐龙,您无需担心支持。

【讨论】:

以上是关于Javascript:未捕获的 SyntaxError:意外的令牌 <的主要内容,如果未能解决你的问题,请参考以下文章

简单代码:JavaScript,未捕获的 ReferenceError:(x) 未定义

未捕获的 ReferenceError:$ 未定义(PHP 中的 JavaScript/HTML)[重复]

jQuery.browser:Javascript 未捕获的类型错误

未捕获的类型错误:无法读取未定义 javascript 的属性“选项”

Javascript 使用严格错误未捕获

在javascript中获取未捕获的异常