如何使用getElementsByClassName获取子元素
How to get child element with getElementsByClassName?
我有一个简单的javascript,用getElementsByClassName获取它的子元素,但它不起作用:
var parent = document.getElementsByClassName('parent');
var child = parent.getElementsByClassName('child');
child.style.color='red';
我试了很多次,也搜索过,但我找到了一些有循环的答案,但我想在没有循环的情况下完成。我该怎么做?
您可以在一步中获得完整的节点列表
var children = document.querySelectorAll(".parent .child");
但是,您将不得不在该节点列表上循环。
如果你真的只对第一个感兴趣,那么你可以做
document.querySelector(".parent .child").style.color = 'red';
试试这个:
var parent = document.getElementsByClassName('parent');
for(var i=0;i<parent.length;i++){
var child = parent[i].getElementsByClassName('child');
for(var j=0;j<child.length;j++){
child[j].style.color='red';
}
}
document.getElementsByClassName((返回集合。所以你必须应用索引或循环。
多个元素可以是同一类的成员。这就是上课的意义所在。
在getElementsByClassName
中,单词元素是复数。它返回一个NodeList
,而不是单个Element
。
你可以把它当作一个数组。您必须在它返回的每个节点上循环,或者假设它只返回一个匹配并使用[0]
。
相关文章:
- React - 从 DOM 元素获取组件以进行调试
- 如何使用 JQuery 从相对元素获取 html 文本
- 从同一域上的 iframe 中的元素获取值
- 使用本机 Javascript 从 DOM 元素获取选择器字符串
- 使用jquery从另一个元素获取使用id的输入的id
- 如何从角度元素获取编译的节点值
- 如何为不同的元素获取不同的父类
- 从 jQuery 中的子元素获取父 tr 元素
- 当浮点部分为空时,从 JQuery 中的输入元素获取数字值不起作用
- 从 XML 元素获取文本
- 从音频元素获取音频样本
- 从所选元素 html 上方的元素获取属性值
- 使用 jQuery.data 从 dom 元素获取布尔值
- 如何通过jquery从某个元素获取部分文本
- 从输入元素获取表单和表单数据对象
- 从动态元素获取挖空视图的大小
- 从中继器循环中显示的子自定义元素获取正确的上下文.奥蕾莉亚
- 如何使用 JavaScript 或 JQuery 从输入类型=文件 html 元素获取文件名
- 从父元素获取 ID 并将它们放在数组中
- 尝试从选项元素获取 HTML