我有相同的元素:
<div id="demo_div" style="display:none;"></div>
page1.html 和 page2.html 上的。
JavaScript可以访问page1.html和page2.html。当我使用
访问元素时$("#demo_div")
我在DOM中获取 first 的元素(page1.html和page2.html是index.html的选项卡,因此其中一个隐藏但始终存在于DOM中)。< / p>
是否可以从特定页面获取元素?
更新1 :
整个HTML:
<html>
<html lang="us">
<head>
<meta charset="utf-8">
<title>Test Index Page</title>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="Expires" CONTENT="-1">
<link href="css/styles.css" rel="stylesheet">
<script src="js/jquery-1.8.2.js"></script>
<script src="js/jquery-ui-1.9.0.min.js"></script>
<script src="modules/page1.js?version=5"></script>
<script src="modules/page2.js?version=5"></script>
</head>
<body>
<div id="wrap">
<div id="content" style="display:none;">
<div id="main_tabs">
<ul id="tabs_header">
<li><a href="#Home">Home</a></li>
<li><a href="modules/page1.html?version=3">Page1</a></li>
<li><a href="modules/page2.html?version=14">Page2</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>
更新2 :
我不能拥有唯一ID,因为我使用.load
将page2.html作为page1.html的隐藏部分加载,因此我将有重复的元素。
更新3 :
我从链接到index.html的.js
文件中运行JavaScript,以便它可以访问其兄弟(page1.html和page2.html)。
答案 0 :(得分:0)
Dom元素ID应该是唯一的!但在你的情况下,它不是。
如果您仍然喜欢使用相同的ID,请尝试使用下面的attribute selector,但通常没有人会建议使用相同的ID
$("div[id='demo_div']")
答案 1 :(得分:0)
以防有人错过它。当您知道正在加载哪个页面时,可以使用动态添加的类来解决该问题。只需在div中添加一个类:
$('myDiv').addClass('page' + thePageNr);
尽管如此:删除重复的ID,它们会产生意外的行为:)