在特定的html页面上按ID获取元素

时间:2012-11-19 09:34:07

标签: javascript jquery dom

我有相同的元素:

<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)。

2 个答案:

答案 0 :(得分:0)

Dom元素ID应该是唯一的!但在你的情况下,它不是。

如果您仍然喜欢使用相同的ID,请尝试使用下面的attribute selector,但通常没有人会建议使用相同的ID

 $("div[id='demo_div']")

答案 1 :(得分:0)

以防有人错过它。当您知道正在加载哪个页面时,可以使用动态添加的类来解决该问题。只需在div中添加一个类:

$('myDiv').addClass('page' + thePageNr);

尽管如此:删除重复的ID,它们会产生意外的行为:)