我无法使用 Javascript 中的 getElementsByClassName 方法访问 <div> 标记
I can't access a <div> tag by using the getElementsByClassName method in Javascript
我是 Javascript 的新手,我正在尝试学习如何操作 DOM 中的元素。
所以我在 <body>
标签下有这个 HTML 代码:
<div class="content">
<h1>Welcome</h1>
<p>This is a sample website</p>
</div>
<script src="test.js"></script>
这是它的 JS 代码:
var contento = document.getElementsByClassName("content");
contento.getElementsByTagName("h1")[0].innerHTML = "Bienvenida";
到目前为止我尝试了什么:
在我的 HTML 代码中,我尝试将 div 的 class 属性更改为 id 属性,然后在我的 JS 代码中将 getElementsByClassName 更改为 getElementById。它就像一个魅力。但是我想知道为什么我使用 class 属性时它不起作用?
DIV标签不支持吗?
那为什么在这个例子中使用它:
http://www.w3schools.com/html/html_classes.asp
问题是.getElementsByClassName
returns一个节点列表而不是单个节点
尝试做document.getElementsByClassName("content")[0];
(假设只有一个,那就是你想要的)
'getElementsByClassName' 就像 'getElementsByTagName' 一样,所以它 returns 一个包含您指定的 class 的所有元素的数组
例如,您可能有三个具有 class 的元素,因此根据您要定位的元素,您应该使用对应于它的 DOM order -1 的数组索引来定位它; )
给你:)
var contento = document.getElementsByClassName("content")[0];
contento.getElementsByTagName("h1")[0].innerHTML = "Bienvenida";
EDIT : Added code snippet
var contento = document.getElementsByClassName("content")[0];
contento.getElementsByTagName("h1")[0].innerHTML = "Bienvenida";
<div class="content">
<h1>Welcome</h1>
<p>This is a sample website</p>
</div>
我是 Javascript 的新手,我正在尝试学习如何操作 DOM 中的元素。
所以我在 <body>
标签下有这个 HTML 代码:
<div class="content">
<h1>Welcome</h1>
<p>This is a sample website</p>
</div>
<script src="test.js"></script>
这是它的 JS 代码:
var contento = document.getElementsByClassName("content");
contento.getElementsByTagName("h1")[0].innerHTML = "Bienvenida";
到目前为止我尝试了什么:
在我的 HTML 代码中,我尝试将 div 的 class 属性更改为 id 属性,然后在我的 JS 代码中将 getElementsByClassName 更改为 getElementById。它就像一个魅力。但是我想知道为什么我使用 class 属性时它不起作用?
DIV标签不支持吗?
那为什么在这个例子中使用它:
http://www.w3schools.com/html/html_classes.asp
问题是.getElementsByClassName
returns一个节点列表而不是单个节点
尝试做document.getElementsByClassName("content")[0];
(假设只有一个,那就是你想要的)
'getElementsByClassName' 就像 'getElementsByTagName' 一样,所以它 returns 一个包含您指定的 class 的所有元素的数组
例如,您可能有三个具有 class 的元素,因此根据您要定位的元素,您应该使用对应于它的 DOM order -1 的数组索引来定位它; )
给你:)
var contento = document.getElementsByClassName("content")[0];
contento.getElementsByTagName("h1")[0].innerHTML = "Bienvenida";
EDIT : Added code snippet
var contento = document.getElementsByClassName("content")[0];
contento.getElementsByTagName("h1")[0].innerHTML = "Bienvenida";
<div class="content">
<h1>Welcome</h1>
<p>This is a sample website</p>
</div>