【发布时间】:2013-02-03 06:32:42
【问题描述】:
我正在使用 JSF 模板和 Primefaces。我似乎无法从子视图中引用主页中的特定 div。
模板页面template.xhtml:
<!DOCTYPE html>
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:comp="http://java.sun.com/jsf/composite/components"
xmlns:pe="http://primefaces.org/ui/extensions">
<h:head>
<title><ui:insert name="title">Default title</ui:insert></title>
</h:head>
<h:body>
<div id="header">Header</div>
<div id="content"><ui:insert name="content">Default content</ui:insert></div>
<div id="footer">Footer</div>
</h:body>
</html>
客户页面page.xhtml
<ui:composition template="template.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:comp="http://java.sun.com/jsf/composite/components"
xmlns:pe="http://primefaces.org/ui/extensions">
<ui:define name="content">
<script type="text/javascript">
$(window).load(function() {
alert($('header').html());
});
</script>
<h1>New content here</h1>
<p>Stuff</p>
</ui:define>
</ui:composition>
警报显示“空”。我尝试将脚本放在子视图内的不同位置,但没有运气。知道为什么它不可见吗?谢谢。
【问题讨论】:
-
你在那个页面上包含了 jQuery 脚本吗?
-
我一起摆脱了 jQuery 并使用 document.getElementById('..') 仍然是相同的结果。
-
你能在 jsfiddle 上创建例子吗?
标签: javascript html jsf-2 xhtml facelets