如何在jquery mobile中从下一页访问div id

时间:2012-12-31 10:53:15

标签: javascript jquery html jquery-mobile

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&amp; page2.html这些包含常见的JavaScript文件。

我的问题是在page2.html加载时访问div#id page1.html

2 个答案:

答案 0 :(得分:0)

在你的javascript中使用它

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

并在正文标记中为您的网页提供唯一ID

<body id='unique_id'>

或者您也可以传递网址

或使用此代码

function init() {
    alert( $('div').attr('id') == "nextpageId" )
}

答案 1 :(得分:0)

您没有明确声明您正在使用jQuery Mobile,但是您已经标记了您的问题,并且正在使用PhoneGap,所以我将假设...

您的网页不符合标准的jQuery Mobile布局。他们缺少必需的data-role。具体为data-role="page"以及子data-role="content"声明。

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

您的第二页将通过Ajax加载,第二页上的<script>标记将被忽略。实际上,只会加载嵌套<div data-role="page">部分的内容。

要提取该标记,您只需访问<div>给定其ID,该ID应该是唯一的。您可以使用pageinitpageshow事件来控制Ajax加载的时间。

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