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());
}

In the following code I have two pages i.e. page1.html & page2.html and these contain the common JavaScript file.

My problem is to access page2.html div#id when page1.html is loading.

4

2 回答 2

0

在你的 javascript 中使用它

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

并在正文标签中为您的页面提供唯一 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 布局。他们缺少必需data-role的 s。特别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

于 2012-12-31T14:12:25.020 回答