0

page1.html

<!DOCTYPE html>
<html>
    <head>
        <script src="common_script.js"></script>
    </head>
    <body onload="init()">
        <h1>My First Page</h1>
        <p id="demo">This is a paragraph.</p>
    </body>
</html> 

page2.html

<!DOCTYPE html>
<html>
    <head>
        <script src="common_script.js"></script>
    </head>
    <body>
        <h1>My second Page</h1>
        <div id="nextpageId">I want to access my div</div>
    </body>
</html> 

common_script.js

function init() {
    alert($("#nextpageId").text());
}

次のコードにはpage1.html&という 2 つのページpage2.htmlがあり、これらには共通の JavaScript ファイルが含まれています。

私の問題は、ロードpage2.html div#id時にアクセスすることです。page1.html

4

2 に答える 2

0

あなたのjavascriptでこれを使用してください

$('body').attr('unique_id')

body タグでページの一意の ID を指定します

<body id='unique_id'>

またはURLを渡すこともできます

またはこのコードを使用してください

function init() {
    alert( $('div').attr('id') == "nextpageId" )
}
于 2012-12-31T11:52:15.407 に答える
0

jQuery Mobileを使用していると明示的に述べていませんが、質問にそのようにタグを付けており、PhoneGapを使用しているため、そうすると思います...

ページが標準の jQuery Mobile レイアウトに準拠していません。必要な s がありませdata-roleん。具体的には、子宣言data-role="page"とともに。data-role="content"

http://jquerymobile.com/demos/1.2.0/docs/pages/page-anatomy.html

2 番目のページは Ajax 経由で読み込ま<script>れ、2 番目のページのタグは無視されます。実際には、ネストされた<div data-role="page">セクションの内容のみがロードされます。

そのマークアップを取得するには、<div>指定された ID にアクセスするだけです。その ID は一意である必要があります。pageinitまたはイベントを使用pageshowして、Ajax ロードのタイミングを制御できます。

http://jquerymobile.com/demos/1.2.0/docs/api/events.html

于 2012-12-31T14:12:25.020 に答える