如何通过类名获取元素
我想知道是否有一种方法可以实现 getElementByClassName("classname").innerHTML
函数或相当于 getElementById("ClassName").innerHTML
的方法。
I want to know if there is a way to getElementByClassName("classname").innerHTML
function or something to the equivalent of getElementById("ClassName").innerHTML
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您的函数名称中缺少
s
。getElementsByTagName
返回一个元素集合,您需要对其进行迭代:IE8 及以下版本不支持
getElementsByClassName
,因此您必须找到一个 polyfill 或使用querySelectorAll
(IE8)。You are missing an
s
in your function name.getElementsByTagName
returns a collection of elements, of elements, which you need to iterate over:IE8 and below don't support
getElementsByClassName
, so you'll have to find a polyfill or usequerySelectorAll
(IE8).我建议您使用 JQuery,您可以直接使用 CSS 选择器(如 .yourclass)来查找给定类的所有元素:
如果您不想使用 JQuery,您可以使用纯 Javascript:
但要小心 IE8 不兼容问题。
作为替代方案(速度较慢,但您可以构建更复杂的 CSS 选择器),您可以使用:
Which 将返回响应 CSS 选择器的一个元素,或者
Which 将返回多个元素。
I suggest you to use JQuery, where you can use directly CSS selectors (like .yourclass) to find all elements of a given class:
If you prefer not to use JQuery, you can use plain Javascript:
But be careful with IE8 incompatibility issue.
As an alternative (slower but you can build more complex CSS selectors) you can use:
Which will return one element responding to your CSS selector, or
Which will return multiple elements instead.
您可以使用 jquery
http://api.jquery.com/html/来完成此操作
You can do this using jquery
http://api.jquery.com/html/
如果您使用 jQuery,您可以像在 CSS 选择器中一样获取它:
那么...
请注意,您还有管理 innerHTML 的便捷方法。
If tou use jQuery you can get it as you would in a CSS selector so:
then...
Notice you have also convenient way to manage innerHTML.