首页 > 解决方案 > 如何抓取元素的所有子元素

问题描述

我正在抓取一些 HTML 代码,如下所示,但问题是.group我的 HTML 代码中正好有 5 个元素,每个元素都由 10.name-top.name-bottom elements. 查询选择器只返回第一个孩子......用类抓取所有元素.name并将所有这些项目推入数组的可能方法是什么?

var groups = document.getElementsByClassName('group');
  var matches = [];

  var arr = Array.from(groups).map(i => {
  const league = i.querySelector('.group-header').innerText;
  const name = i.querySelector('.name.top').innerText + " - " + i.querySelector('.name.bottom').innerText;

  matches.push({name : name, league : league});

  });

标签: javascript

解决方案


使用 document.querySelectorAll 选择所有组

var groups = document.querySelectorAll('.group');
var matches = [];

var arr = Array.from(groups).map(i => {
  const league = i.querySelector('.group-header').innerText;
  const name = i.querySelector('.name.top').innerText + " - " + i.querySelector('.name.bottom').innerText;

  matches.push({name : name, league : league});
});


推荐阅读