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

如何在querySelector中使用模板字符串检测元素类名避免误选元素

问题根因

你原来的代码仅取了父元素的tagName拼到选择器里,最终生成的选择器是NAV > ul li,等于匹配页面上所有<nav>标签下的列表项,自然会把第二个无类名的导航也包含进去。

方案1:直接在获取到的父元素下查询(更推荐)

既然你已经拿到了符合类名条件的父元素parents,直接在它的上下文调用querySelectorAll即可,只会选中该父元素内部的节点,不需要额外拼接复杂选择器,复用性更高,类名可单独抽为变量修改:

let targetParentClass = ".one"; // 类名抽为变量,需要修改时只改这里即可
let parents = document.querySelector(targetParentClass);
let li = parents.querySelectorAll("ul li");
li.forEach((elem)=>{elem.style.border="1px solid red"});

方案2:拼接带类名的模板字符串

如果你确实需要拼接完整的全局选择器,直接把类名作为变量拼入模板即可:

const targetClass = "one"; // 类名变量,可自由传入
let li = document.querySelectorAll(`.${targetClass} > ul li`);
li.forEach((elem)=>{elem.style.border="1px solid red"});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:24:04