如何用JavaScript提取WooCommerce价格元素中的纯数字金额?
提取WooCommerce价格中的数字金额
针对给定的HTML结构,以下是几种直接提取数字金额的实现方法:
方法1:正则匹配文本内容
通过获取节点的文本内容,用正则精准匹配数字部分(支持整数和小数):
var number_price = document.querySelector(".woocommerce-Price-amount"); // 获取节点所有文本并去除首尾空格 var priceText = number_price.textContent.trim(); // 匹配数字(包含可选小数部分) var priceNumber = priceText.match(/\d+(\.\d+)?/)[0]; // 可选:转换为数字类型 priceNumber = parseFloat(priceNumber);
方法2:直接定位文本节点
利用DOM节点结构,直接获取包含数字的第一个文本节点:
var number_price = document.querySelector(".woocommerce-Price-amount"); // 获取父节点下的第一个文本节点内容 var priceText = number_price.childNodes[0].textContent.trim(); // 转换为整数(如需支持小数可改用parseFloat) var priceNumber = parseInt(priceText, 10);
方法3:字符串替换过滤
通过替换掉所有非数字/小数点的字符来提取金额:
var number_price = document.querySelector(".woocommerce-Price-amount"); var priceText = number_price.innerText.trim(); // 移除所有非数字和小数点的字符 var priceNumber = priceText.replace(/[^\d.]/g, ''); priceNumber = parseFloat(priceNumber);
内容的提问来源于stack exchange,提问作者user21627568
相关产品推荐
相关产品推荐

