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
。
答案 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应该是唯一的。您可以使用pageinit
或pageshow
事件来控制Ajax加载的时间。