JQuery脚本无法在JSP中执行

时间:2016-07-19 07:10:21

标签: javascript jquery html jsp

美好的一天,我想要做的是在jsp中创建一个html表并使用JQuery脚本修改表(我重用了一个旧的工作脚本)。问题是我以前从未使用过JQuery或Web编程,但我已经设法编译了一个可以生成表的jsp的工作版本,但是我无法使JQuery脚本执行。

我的简化JSP:

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

     <body>

     <%
     out.println("<table>");
     out.println("<tr>");
     out.println("<td>"+val_feature+"</td>");
     out.println("<td>"+val_project+"</td>");
     out.println("<td>"+val_suiteID+"</td>");
     out.println("<td>"+val_suiteTitle+"</td>");
     ..............
     ..............
     ..............
     out.println("</tr>");
     out.println("</table>");
     %>

     <script type="text/javascript">

        console.clear();
        var table = $("table");
        var rows = table.find($("tr"));
        var colsLength = $(rows[0]).find($("td")).length;
        var removeLater = new Array();
        for(var i=0; i<colsLength; i++){
            var startIndex = 0;
            var lastIndex = 0;
            var startText = $($(rows[0]).find("td")[i]).text();
            for(var j=1; j<rows.length; j++){
                var cRow =$(rows[j]);
                var cCol = $(cRow.find("td")[i]);
                var currentText = cCol.text();
                if(currentText==startText){
                    cCol.css("background","gray");
                    console.log(cCol);
                    removeLater.push(cCol);
                    lastIndex=j;
                }else{
                    var spanLength = lastIndex-startIndex;
                    if(spanLength>=1){
                        console.log(lastIndex+" - "+startIndex)
                        //console.log($($(rows[startIndex]).find("td")[i]))
                        $($(rows[startIndex]).find("td")[i]).attr("rowspan",spanLength+1);
                    }
                    lastIndex = j;
                    startIndex = j;
                    startText = currentText;
                }

            }
            var spanLength = lastIndex-startIndex;
                    if(spanLength>=1){
                        console.log(lastIndex+" - "+startIndex)
                        //console.log($($(rows[startIndex]).find("td")[i]))
                        $($(rows[startIndex]).find("td")[i]).attr("rowspan",spanLength+1);
                    }

        }

        for(var i in removeLater){
            $(removeLater[i]).remove();
        }


    </script>

     </body>

当我执行页面时,表格不会被JQuery修改,IE会不断抛出错误&#39; console&#39;未定义。我不知道这些问题是否相关,但是当我删除console.clear()时,它仍然没有执行脚本并抛出&#39;对象是预期的&#39;脚本var table = $("table");第二行的错误 提前致谢。任何建议都会非常感激。

0 个答案:

没有答案