【问题标题】:jquery breaks html source codejquery打破了html源代码
【发布时间】:2015-04-25 20:36:06
【问题描述】:

我在 spring 项目中的 jsp 文件末尾有以下代码:

<SCRIPT type="text/javascript" src="${pageContext.request.contextPath}/resources/js/jquery-1.11.2.min.js"></SCRIPT>

<script>
    $(document).ready(function(){
        $("button").click(function(){
            $("p").html("Hello <b>world!</b>");
        });
    });
</script>

当我查看此页面的源代码时,我得到以下信息:

<script src="/webpage/resources/js/jquery-1.11.2.min.js" type="text/javascript"></body></html></script>

如您所见,脚本标签内有一个正文和 html,我不知道它是如何到达那里的。每个文件都在正确的位置,我检查了三次。

有什么想法吗?

更新:

这是我的整个代码,从另一个页面,它也不起作用。我遇到了同样的问题。

<?xml version="1.0" encoding="UTF-8" ?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"     xmlns:spring="http://www.springframework.org/tags" version="2.2">
        <jsp:directive.page contentType="text/html; charset=UTF-8" 
        pageEncoding="UTF-8" session="false"/>
        <jsp:output doctype-root-element="html"
        doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
        omit-xml-declaration="true" />
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Stuff</title>
        <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
    </head>
    <body>
        <spring:url value="/stuff.html" var="stuff"/>
        <p><a href="${stuff}">Stuff</a></p>

    </body>
</html>
</jsp:root>

如果我在结束正文之前插入 jquery 包含,我会遇到同样的问题。 :(

【问题讨论】:

  • 对 JQuery 的脚本引用应始终放在 html 头标签中而不是正文中,因此只需将其从正文中剪切并粘贴到头标签之间。
  • @smoggers 这不是真的......事实上,大多数最佳实践指南建议将脚本标签放在正文的末尾
  • 我从w3schools.com/jquery/jquery_get_started.asp 获取我的信息,这在头脑中提供建议?
  • @smoggers 这是对 w3fools.com 的另一个验证。我的信息来自多个来源,包括 Yahoo Yslow、Google 开发人员指南等。此外,将它显示在头部和说它应该始终在头部之间也有很大的区别
  • @MichalHainc 如果我删除所有的 jsp,我也会得到同样的结果。 :(如果我把它放在头上,那么所有的页面都会消失。:S

标签: jquery html jsp spring-mvc jstl


【解决方案1】:

尝试将脚本元素放置在您的 jsp 文件的标签中 - 如果您愿意,可以放在最后,但绝对要放在标签之前。您可能将它放在 or 之后,并且浏览器可能正在为您关闭标签。

您可能还想尝试在脚本标签后添加一些虚拟内容,以防万一您有其他服务器端解析器试图为您关闭这些标签。

【讨论】:

  • 我尝试在其后放置一个虚拟 h1 标签,但它也位于 scipt /script 标签内。 :( 你是什么意思尝试将脚本元素放在我的 jsp 文件的标签中?你能举个例子吗?
  • 对不起,我的意思是在jsp的body标签内
  • 就在那儿,就在正文结束标记之前。
猜你喜欢
  • 1970-01-01
  • 2016-08-17
  • 1970-01-01
  • 2011-09-02
  • 1970-01-01
  • 1970-01-01
  • 2021-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多