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

如何让console.log()正确打印range类型input输入框选中的数值?

问题根因

代码存在变量重复定义和取值逻辑错误:点击事件回调内通过let input声明的变量存储的是#myRange元素的value值(字符串类型),并非DOM元素对象,因此不存在.value属性,访问input.value自然返回undefined。

另外建议将监听事件从click替换为input,input事件会在滑块数值发生变化时实时触发,可覆盖拖拽滑块、键盘调整数值等非点击操作的数值变更场景,更适配range输入框的交互逻辑。

修复后可用代码

const myRange = document.getElementById('myRange')
myRange.addEventListener('input', () => {
    // 直接读取DOM元素的value即可,无需二次取值
    const currentVal = myRange.value
    console.log(currentVal)
    if (currentVal === '1') {
        theme1()
    } else if (currentVal === '2') {
        theme2()
    }
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:36:02