为什么.innerHTML显示未定义,但.length显示为1.
HTML:
<html>
<head>
</head>
<body>
<h1>Hello World</h1>
<ul>
<li>This is an item</li>
<li>This is another item</li>
</ul>
<script src="test.js"></script>
</body>
</html>
javascipt的:
var content = document.getElementsByTagName("h1");
console.log(content.innerHTML);
console.log(content.length);
答案 0 :(得分:2)
来自MDN
Element.getElementsByTagName()方法返回具有给定标记名称的元素的实时HTMLCollection。
使用[0]
获取第一项:
console.log(content[0].innerHTML);
答案 1 :(得分:1)
JavaScript的document.getElementsByTagName
返回一个(类似数组的)对象。您可以使用content[0]
获得所需的一个元素:
//returns a collection of elements
var content = document.getElementsByTagName("h1");
// single out the element you need
var tag = content[0];
console.log(typeof(content));
console.log(content.length);
//get the element's inner HTML
console.log(tag.innerHTML);
<h1>Hello World</h1>
<ul>
<li>This is an item</li>
<li>This is another item</li>
</ul>
答案 2 :(得分:0)
如果需要专门定位此元素,请为其指定id属性,然后使用getElementById。这样效率更高,并且只返回一个元素。