javascript 解析不起作用 document.getElementsByClassName.
javascript parsing not working document.getElementsByClassName
>我在页面的源代码中有以下代码:
<a data-toggle="dropdown" class="user" href="#">Tom</a>
我尝试使用以下代码解析字符串"Tom":
var username = document.getElementsByClassName("user").innerHTML;
alert(username);
但是用户名变量未定义,代码有什么问题?我不想使用jQuery。
查看 DOM 方法的名称:getElement*s*ByClassName。它是一个复数形式,所以可以,而且很可能会返回超过 1 个元素。
这些元素将存储在类似对象的数组(NodeList
的实例)中。
var usernames = document.getElementsByClassName('user');
var first = usernames[0];
但实际上,getElementsByClassName
没有得到很好的支持,最好使用 querySelectorAll
(将querySelector
支持支持与 getElementsByClassName
进行比较,尤其是在 IE 中)
var usernames = document.querySelectorAll('.user');
var first = usernames[0];
此外,使用这些选择器,您可以不必查询整个 DOM:
var username = document.querySelector('.user');//gets just one
注意:
有关 MDN 上NodeList
类的详细信息,请单击此处
请注意,某些版本的FireFox将返回一个不称为NodeList
的对象,而是Mozilla自己的DOM API超集,它扩展了NodeList
构造函数。我不记得那个物体叫什么ATM,但一旦我想起来,我会重新联系的。
你只是错过了获取第一个元素的 [0]。
var username = document.getElementsByClassName("user")[0].innerHTML;
与document.getElementById
不同,document.getElementsByClassName
方法返回一个具有指定类的元素数组。在这种情况下,您可能希望选择其中的第一个。
var username = document.getElementsByClassName("user")[0].innerHTML;
alert(username);
你错过了[0]
.
相关文章:
- 正在寻找比$(document).ready慢的$(window).load的替代方案
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 如何用更合适的内容替换document.write
- document.styleSheets不返回任何内容
- jQuery document.ready not working
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- reactjs this.refs vs document.getElementById
- 如何通过adf中的document.getElementById获取inputText字段值
- window.opener.document在ie中不起作用
- contentWindow.document.body is null
- document.applet.method在Mounatin Lion上抛出safari 6+JDK7异常
- document.getElementById(“st”).click();不起作用
- $(document).height和$(window).heaght都返回相同的值-使用的是正确的doctype
- jQuery document.ready停止代码
- document.getElementById并使用id名称
- 使用jQuery 1.8.1准备好多个$(document).是否有任何开销
- document.getElementById在js中不起作用
- document.getElementById.style.backgroundImage not working
- 停止对document.ready函数的重定向/刷新
- 是否可以 document.getElementsByTagName('head')[0] ever 返回 null