1

我有大约一千个这样构造的 DIV 标签:

<div id="1">
    <div class="1"></div>
    <div class="2"></div>
    ...
</div>

<div id="2">
    <div class="1"></div>
    <div class="2"></div>
    ...
</div>

如果我现在想访问特定节点,请说“div#10 div.5”-使用 javascript DOM 遍历最快的方法是什么?我已经有了索引值“10”和“5”——我只是在寻找实现这一目标的最快方法。

非常感谢。

4

3 回答 3

4

如果您有大约 1000 个 DIV,我认为这是自动生成的 html?

如果是这样,是否有任何理由不能将 id 添加到内部 DIV 中?

<div id="1">
    <div id="1.1" class="1"></div>
    <div id="1.2" class="2"></div>
    ...
</div>

<div id="2">
    <div id="2.1" class="1"></div>
    <div id="2.2" class="2"></div>
    ...
</div>

然后你可以只使用 getElementById 而不必担心排序或间距等。

Since element ids have to be unique on the page then this should always be the fastest way to look up the element.

于 2009-04-24T11:59:18.647 回答
3

使用jQuery:

alert($("#10 > .5").html());
于 2009-04-24T11:37:09.480 回答
3

没有验证并假设子节点是唯一的节点并且都是按顺序排列的;

document.getElementById('10').childNodes[4];

注意成为节点的空格https://developer.mozilla.org/En/Whitespace_in_the_DOM

于 2009-04-24T11:55:40.247 回答