1

当我在 JSP 中放置以下 jQuery 代码时:

<script>
    $(document).bind("ready",function(){
        var recordPerPages=3;
        var currentPage=1;
        var trs=$("table tr");
        alert(trs);

        function create(pageNo){
            $("table").empty();
            var endRec=pageNo*recordPerPages;
            var stRec=endRec-recordPerPages;
            trs.each(function(indx){
                if((indx+1)>=stRec && indx<endRec){
                    $("table").append($(this))
                }
            })
        }
        create(currentPage)

        $("#prev").bind("click",function(){
            currentPage=currentPage-1
            create(currentPage)
        })

        $("#next").bind("click",function(){
            currentPage=currentPage+1
            create(currentPage)
        })
    })
</script>

然后我收到以下错误:

editListContributions.jsp:38:29: Illegal token.
       if((indx+1)>= stRec && indx <  endRec){

                        ^

这是如何引起的,我该如何解决?

4

1 回答 1

4

如果您实际上使用的是 JSPX 而不是 JSP,就会发生这种情况。JSPX 是基于 XML 的。XML 中的所有特殊字符,例如<,&>(分别表示 XML 元素的开头、XML 实体的开头和 XML 元素的结尾)都需要转义为&lt;,&amp;&gt;

if((indx+1)&gt;= stRec &amp;&amp; indx &lt; endRec){

这种不可读的混乱的替代方法是将整个脚本放在一个CDATA块中。

<script>
    <![CDATA[
        ...
    ]]>
</script>

然而,更好的是把 JS 代码放在你自己的.js文件中,你可以通过<script src>.

<script src="onload.js"></script>

也可以看看:

于 2012-10-18T17:32:57.333 回答