【发布时间】:2011-09-08 19:50:36
【问题描述】:
如何在 javascript 中选择 DOM 元素?
比如:
<div class="des">
<h1>Test</h1>
<div class="desleft">
<p>Lorem Ipsum.</p>
</div>
<div class="Right">
<button>Test</button>
</div>
</div>
现在我该如何选择h1?这只是更大页面的一部分,因此不能使用getElementsByTagName(),因为其他人可能会被选中。此外,由于稍后文档中可能还有其他h1,我无法将索引(正文)附加到上面。
有没有一种简单的选择方法,比如<h1> 标签,它位于desleft 的类名下?
我不能使用 jQuery 或任何其他库。
【问题讨论】:
-
在现代 javascript 编程中不使用某种选择器库是没有效率的。如果你不能使用 jQuery,那么至少使用 Sizzle,它只是一个选择器引擎(并且是 jQuery 和 YUI 内部使用的)。它非常小,可以为您节省数百小时的开发时间,防止大量错误并避免大量跨浏览器问题。自己重新发明轮子根本没有效率。
-
是的,我完全同意。我感觉有办法做到这一点,但我不知道。
-
在任何这些选择器库中,您只需使用选择器:
".des h1"来访问示例中的<h1>对象。在 Sizzle 中,它只是:var list = Sizzle(".des h1");。
标签: javascript dom selector traversal