求助:如何获取meta标签content值并执行减法运算(代码无效)
问题分析与解决
你的代码无法运行的核心原因是:meta标签通常位于<head>而非<body>中,用document.body.querySelector无法定位到目标元素,会导致后续操作报错。另外,直接获取的content属性值是字符串类型,虽然JS会隐式转换为数字做减法,但显式转换为数字能避免潜在的意外问题。
修正后的代码
// 定位目标meta标签(遍历整个文档,无需限定在body) var priceMeta = document.querySelector("[itemprop='price']"); // 显式将字符串转换为数字类型 var oldprice = Number(priceMeta.content); var newprice = oldprice - 500; // 输出验证结果 console.log(newprice); // 预期输出:1199
额外优化(避免元素不存在报错)
如果担心页面中没有该meta标签导致代码崩溃,可以增加判断逻辑:
var priceMeta = document.querySelector("[itemprop='price']"); if (priceMeta) { var oldprice = Number(priceMeta.content); var newprice = oldprice - 500; console.log(newprice); } else { console.log("未找到目标价格meta标签"); }
内容的提问来源于stack exchange,提问作者Jio
相关产品推荐
相关产品推荐

