1

我是 jQuery 的新手。

在 netbeans 中,我有jquery-1.7.2.js,其中存在所有 HTML 文件。我正在创建 JSF 2.0 项目。

下面是我的代码

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:t="http://myfaces.apache.org/tomahawk"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      >
    <h:head>
        <title>Welcome to MySite.</title>
    </h:head>

    <script language="text/javascript" src="#{facesContext.externalContext.requestContextPath}/faces/jquery-1.7.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            alert('I am here...');
            $("#table tr:last").after("<tr><td>some</td><td>content</td></tr>");
        });

    </script>

我相信使用此代码,每当加载文档时,我都应该收到警报,Hi, I am here...因为我没有收到任何警报。

另外,当我看到查看源代码并单击时jquery-1.7.2.js,它会被打开。

知道为什么我没有警觉吗?

更新 1

我正在按照此处提供的教程进行操作,但仍然没有运气。:(

4

3 回答 3

1

这似乎是一个错误的文件位置,我不知道你将 jquery 文件放在你的网络应用程序中的确切位置,但无论如何它应该位于资源文件夹下的文件夹中,所以......

在下添加resources文件夹WebContent

并在资源内部创建js文件夹

然后像这样访问文件

 <h:outputScript name="js/jquery-1.7.2.js" target="head" />
于 2012-07-04T17:57:44.927 回答
-2

我相信 JSF 可能会强制执行 XHTML 标准,告诉它忽略您的脚本标签,因为它是 outisde 头或体标签。您是否检查过您的脚本标签是否正在呈现?

我学到了一种艰难的方式,即在处理 JSF 时做事的最佳方式就是以 JSF 方式来做。在这种情况下,它将使用 h:outputScript 标记。

此外,使用 JavaScript 的一个好的做法是将它放在一个单独的 .js 文件中,即使您打算只在一个页面上使用它。使在浏览器中调试变得更加容易。

于 2012-07-04T18:29:24.953 回答
-2

您确定以下行:“#{facesContext.externalContext.requestContextPath}/faces/jquery-1.7.2.js”?如果我是你,我会查看浏览器 Url,然后使用指向该 Url 的相对路径编写代码以指向 jquery-1.7.2.js。另一种可能的调试方法是在当前文件夹(即当前.xhtml)中复制jquery-1.7.2.js,然后脚本标记行将是src="./jquery-1.7.2。 js”。如果您可以看到警报,则问题出在该线路路径上。

于 2019-02-12T04:54:04.420 回答