如何使用JS将价格数值除以2?编写的代码无法运行该如何解决?
问题排查步骤
- 先打开浏览器开发者工具的Console面板(快捷键F12)查看报错,这类DOM操作异常通常会有明确的错误提示,比如
Cannot read properties of null (reading 'textContent')就是典型的未获取到目标DOM元素的报错。 - 检查元素选择器是否匹配:你的价格节点设置的是
class="price_value",但代码中使用的是getElementById方法,该方法只能匹配带有对应id属性的元素,自然无法定位到目标节点。 - 检查脚本执行时机:你把script标签放在了body内容的前面,脚本运行时页面DOM还没有完成渲染,哪怕选择器正确也拿不到对应的元素。
- 检查数值转换逻辑:价格是带小数的
29.00格式,使用parseInt转换会直接丢弃小数部分,对价格类数值做转换建议用parseFloat避免精度丢失。
修正后可运行代码
<body> <span class="wcpa_price"><span class="woocommerce-Price-currencySymbol">$</span><span class="price_value">29.00</span></span> <div id="result"></div> <!-- 把script放在body底部,保证DOM渲染完成后再执行 --> <script> const a = parseFloat(document.querySelector('.price_value').textContent) const b = 2 const result = a / b // 保留两位小数符合价格的显示习惯 document.getElementById('result').innerHTML = result.toFixed(2) </script> </body>
内容的提问来源于stack exchange,提问作者bohdan bohdan
相关产品推荐
相关产品推荐

