如何根据类名获取 <a> innerText?
2017-11-08
14639
假设我有:
<a class="helloh" id="helloh">返回此值</a>
基本上,我想根据类名获取
<a>
标签的 innerText。
问题是当我尝试:
alert(document.getElementsByClassName("helloh").innerText);
它返回
undefined
但是当我尝试:
alert(document.getElementById("helloh").innerText);
它返回我想要的实际值。
3个回答
使用
document.getElementsByClassName("helloh")[0].innerText
而不是
document.getElementsByClassName("helloh").innerText
。
使用
getElementsByClassName
时,您将获得元素数组,而不是与
getElementById
不同的单个数组。
Prabhu Vinod
2017-11-08
新的语法版本是
document.querySelector()
,它将返回第一个匹配的元素。这样就不必再执行
getElementsByClassName('name')[0]
从以下内容开始:
<a class="helloh" id="helloh">get by ID</a>
<a class="helloh2" id="helloh2">get by Class</a>
您可以使用:
// by ID
console.log(document.querySelector('#helloh').innerText)
// by Class
console.log(document.querySelector('.helloh2').innerText)
如果您想要多个元素,则可以使用
document.querySelectorAll()
:
<a class="helloh" id="helloh">get by ID</a>
<a class="helloh" id="helloh2">get by Class</a>
// get both by Class
console.log(document.querySelectorAll('.helloh'))
请注意
#
和
.
您使用
.
指定类,使用
#
指定 ID,然后省略两者以按块元素进行搜索。
例如,
document.querySelectorAll('div')
将返回页面上的所有 div。
您也可以同时使用多个:
document.querySelectorAll('div .helloh #helloh2')
agm1984
2017-11-08
var a = document.getElementsByClassName("helloh")[0].textContent;
alert(a);
<a class="helloh" id="helloh">return this value</a>
vicky patel
2017-11-08