Javascript 如何使用GetElementsByCassName获取子元素?

Javascript 如何使用GetElementsByCassName获取子元素?,javascript,Javascript,我使用简单的javascript获取其子元素getElementsByCassName,但它不起作用: var parent = document.getElementsByClassName('parent'); var child = parent.getElementsByClassName('child'); child.style.color='red'; 我已经尝试了很多,并搜索得到它,但一些答案与for循环我找到了,但我想做它没有循环。我该怎么做?试试这个: var parent

我使用简单的javascript获取其子元素getElementsByCassName,但它不起作用:

var parent = document.getElementsByClassName('parent');
var child = parent.getElementsByClassName('child');
child.style.color='red';
我已经尝试了很多,并搜索得到它,但一些答案与for循环我找到了,但我想做它没有循环。我该怎么做?

试试这个:

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';
    }
var parent=document.getElementsByClassName('parent');
对于(var i=0;i尝试以下方法:

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';
    }
var parent=document.getElementsByClassName('parent');

对于(var i=0;i多个元素可以是同一类的成员。这就是类的点

getElementsByClassName
中,单词elements是复数。它返回一个
节点列表
,而不是单个
元素


您可以像对待数组一样对待它。您必须在它返回的每个节点上循环,或者假设它只返回一个匹配项,并使用
[0]

多个元素可以是同一类的成员。这就是类的点

getElementsByClassName
中,单词elements是复数。它返回一个
节点列表
,而不是单个
元素


您可以像对待数组一样对待它。您必须循环遍历它返回的每个节点,或者假设它只返回一个匹配项,然后使用
[0]

您可以一步获得完整的节点列表

var children = document.querySelectorAll(".parent .child");
但是你必须在节点列表上循环

如果你真的只对第一个感兴趣,那么你可以这样做

document.querySelector(".parent .child").style.color = 'red';

您可以在一个步骤中获得完整的节点列表

var children = document.querySelectorAll(".parent .child");
但是你必须在节点列表上循环

如果你真的只对第一个感兴趣,那么你可以这样做

document.querySelector(".parent .child").style.color = 'red';

getElementsByCassName
返回一个元素列表,因此必须使用循环。如果希望只操作与该类匹配的第一个子级(或者如果确定只有一个子级与该类匹配),可以执行以下操作:
child[0]。style.color='red';
为什么不使用jQuery?”$('.parent.child')。css('color','red')”techfoobar--我也尝试过这样做:child[0]。style.color='red';但不起作用。Well
getElementsByClassName
返回元素列表,因此必须使用循环。如果希望只操作与该类匹配的第一个子级(或者如果确定只有一个子级与该类匹配),您可以执行以下操作:
child[0].style.color='red';
为什么不使用jQuery?”$('.parent.child').css('color','red')”techfoobar--我也尝试了以下操作:child[0].style.color='red';但不起作用。