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

JS新手使用模板字面量选择DOM元素时遇未定义错误求助

问题解决

错误原因

你写的console.log(currentPriorityB+${num})里,currentPriorityB是未定义的变量,JS找不到它所以报错。而且这种直接拼接变量名的方式不符合JS语法,不能这么动态调用已定义的变量。另外你的HTML里类名有格式错误(比如currentPriorityB1、currentPriorityB3),要先修正为正确的类名(currentPriorityB1、currentPriorityB2、currentPriorityB3`),否则元素查询会失败。

解决方案一:用对象存储元素,动态访问

如果你已经提前获取了所有元素,可以把它们放到一个对象里,通过键名动态获取:

// 先修正HTML类名后,获取元素
const elements = {
  currentPriorityB1: document.querySelector('.currentPriorityB1'),
  currentPriorityB2: document.querySelector('.currentPriorityB2'),
  currentPriorityB3: document.querySelector('.currentPriorityB3')
}

let num = 1
console.log(elements[`currentPriorityB${num}`])

解决方案二:动态拼接选择器,直接查询

更简洁的方式是不用提前定义所有变量,直接用模板字面量拼接选择器字符串,实时查询对应元素:

let num = 1
const targetElement = document.querySelector(`.currentPriorityB${num}`)
console.log(targetElement)

这样就能根据num的值动态获取对应的div元素了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 12:34:56