0

私は 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>

アラートには「null」が表示されます。サブビュー内の別の場所にスクリプトを配置しようとしましたが、うまくいきませんでした。表示されない理由は何ですか?ありがとう。

4

2 に答える 2

0

IDに「ヘッダー」を含む要素を選択しようとしていると思うので、これを使用する必要があります:

$('#header')

<header>要素を選択したい場合は、 を使用$('header')して選択します。

于 2013-02-18T18:36:49.163 に答える
0

元のコードには別のヘッダー セクションがあり、ヘッダー セクションも div として本文に含めました。ヘッダー html タグが削除され、ui タグが div に移動しました。

<!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:body>
     <div id="header"><ui:insert name="title">Default Title</ui:insert></div>        
     <div id="content"><ui:insert name="content">Default Content</ui:insert></div>
     <div id="footer">Footer</div>
  </h:body>
 </html>
于 2013-02-18T18:57:03.000 に答える