0

这是我的 XHTML 页面的代码。jQuery/js/在我的应用程序的文件夹中。所有其他页面的验证都是通过使用同一个文件的 jQuery 完成的,但是我无法在我创建的这个测试页面上运行简单的 jQuery 代码。这是页面的代码:

<?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">
    <h:head>
        <title>Facelet Title</title>

    </h:head>
    <h:body>
        <script type="text/javascript" src="js/jquery.js"></script>

        <script>

            $(document).ready(function () {
                $("p").text("The DOM is now loaded and can be manipulated.");
            });

        </script>
        <br/><br/><br/>
        <p>Not loaded yet.</p>
        <input id="pedram" type="text" onclick="alert('hi');"/>
    </h:body>
</html>

我也尝试过使用CDATA标签。我还将脚本移到了文档的开头。

唯一正常工作的是alert()我放入onclick事件中的那个。没有其他工作。

请告诉我我做错了什么。

4

3 回答 3

8

改变

<script src="js/jquery.js">
        $(document).ready(function () {
            $("p").text("The DOM is now loaded and can be manipulated.");
        });
</script>

<script>
        $(document).ready(function () {
            $("p").text("The DOM is now loaded and can be manipulated.");
        });
</script>

您不需要指定 jQuery 源两次.. 当您在标签内使用 js 时也不需要

于 2012-10-05T14:28:40.703 回答
0

我必须使用我的应用程序(java)的上下文路径并添加到我的 jquery 库地址。

 <script type="text/javascript" src="#{facesContext.externalContext.requestContextPath}/js/jquery.js"></script>
于 2012-10-05T15:46:40.993 回答
0

问题似乎是您<h:body>与 jQuery 1.x 结合使用。

使用 jQuery 2.x 或<body>将解决您的问题。

jQuery 1.x 可能在document.body某处使用,它失败了,因为document.body使用<h:body>.


如果你不介意我问,你为什么要使用 h 命名空间(http://java.sun.com/jsf/html)?

于 2013-11-01T20:31:30.423 回答