You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用document.querySelectorAll获取多个选择器的URL值?

获取.myClass容器内a标签URL的解决办法

你的代码没法正常运行,核心问题出在childNodes[1]这个写法上——childNodes会把所有类型的节点都包含进来,包括HTML里的空格、换行这些文本节点,所以你没法保证索引1对应的就是你要的<a>元素,这就导致代码不稳定。

下面给你几个更可靠的解决方案:

方案1:直接定位目标a标签(最简洁)

直接在querySelectorAll里精准定位到.myClass下的<a>元素,一步到位:

var links = document.querySelectorAll(".myClass a");
for(var i = 0; i < links.length; i++) {
  console.log(links[i].href);
}

方案2:用children替代childNodes

children属性只会返回元素节点,不会包含文本节点,如果你确定每个.myClass下的第一个元素就是<a>,可以这么写:

var containers = document.querySelectorAll(".myClass");
for(var i = 0; i < containers.length; i++) {
  console.log(containers[i].children[0].href);
}

方案3:在容器内单独查找a标签

如果每个.myClass容器里可能有多个元素,或者你想确保找到a标签再操作,用querySelector在容器内查找会更稳妥:

var containers = document.querySelectorAll(".myClass");
for(var i = 0; i < containers.length; i++) {
  var targetLink = containers[i].querySelector("a");
  if(targetLink) { // 避免找不到a标签时报错
    console.log(targetLink.href);
  }
}

内容的提问来源于stack exchange,提问作者PLazzo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:46:15