当前位置: 首页 > 知识库问答 >
问题:

是否可以用JavaScript将网站上现有的价格替换为转换后的价格?

融烨华
2023-03-14

在过去的几天里,我一直在为我的浏览器扩展写一些代码,我一直在转换网站上的价格。

到目前为止,我意识到我可以通过文档.QuerySelectionAll('.Price__Blocks')从技术上获得价格数组,但它不允许我的代码运行,因为它给出了一个错误:vm8032:2 uncatted typeerror:nodes[I].replace不是一个函数在:2:38

vals = ["80.00$", "50.00$", "70.00$", "69.99$"];
for (var i = 0; i < 4; ++i){
var priceNum = parseFloat(vals[i].replace(/$/g, ""))
priceNum = priceNum * 0.000020 + " BTC"
console.log(priceNum)
}

null

vals = ["80.00$", "50.00$", "70.00$", "69.99$"];


for (var i = 0; i < 4; ++i){
  var priceNum = parseFloat(vals[i].replace(/$/g, ""))
  priceNum = priceNum * 0.000020 + " BTC"
  console.log(priceNum)
}

null

var nodes = document.querySelectorAll('.price__block')
for (var i = 0; i < nodes.length; ++i){
var priceNum = parseFloat(nodes[i].replace(/€/g, ""))
priceNum = priceNum * 0.000020 + " BTC"
nodes[i].innerHTML = priceNum;
}

null

var nodes = document.querySelectorAll('.price__block')
for (var i = 0; i < nodes.length; ++i){
    var priceNum = parseFloat(nodes[i].replace(/€/g, ""))
    priceNum = priceNum * 0.000020 + " BTC"
    nodes[i].innerHTML = priceNum;
  }

null

为了更好地理解VisualStudio代码和Playground的问题图像,我将附上屏幕截图

共有1个答案

荣声
2023-03-14

在实际的代码中,您试图从元素调用replace函数,该replace函数只能对字符串调用。

要解决此问题,您可能需要执行以下操作:

var nodes = document.querySelectorAll('.price__block')
for (var i = 0; i < nodes.length; ++i){
    var priceNum = parseFloat(nodes[i].innerHTML.replace(/€/g, ""))
    priceNum = priceNum * 0.000020 + " BTC"
    nodes[i].innerHTML = priceNum;
  }
 类似资料:
  • 当存在销售价格时,如何用销售价格替换常规价格 我尝试使用此代码 但当产品不在销售时,可见的价格是0.00

  • 在我们的woocommerce网站上,我试图根据客户从下拉菜单中选择的变化来更新显示的价格,如下所示: 我使用了LoictheAztec在另一个答案中提交的php函数: 用WooCommerce 3中选择的Variable Price替换Variable Price range 但是,当选择一个变体时,它会在FROM:$PRICE下面显示未定义,如下所示: 未定义错误示例: 因此,如果有人能帮助我

  • 我从来没有从谷歌得到正确的定价政策。对我来说有点困惑。我目前正在测试谷歌计算引擎,试图了解它是如何工作的。 在一个简单的例子中,当使用Cloud Laucher Wordpress时,使用VM的机器实例时,可持续的预测为449美元:1个共享vCPU+0.6GB内存(f1-micro)和标准10G磁盘。 但是想象一个例子,100人在同一时期使用从美国到美国的网络互联网出口将增加154,00美元 我的

  • 宽松等价与严格等价 宽松等价是==操作符,而严格等价是===操作符。两个操作符都被用于比较两个值的“等价性”,但是“宽松”和“严格”暗示着它们行为之间的一个 非常重要 的不同,特别是在它们如何决定“等价性”上。 关于这两个操作符的一个非常常见的误解是:“==检查值的等价性,而===检查值和类型的等价性。”虽然这听起来很好很合理,但是不准确。无数知名的JavaScript书籍和文章都是这么说的,但不

  • 问题内容: 期望: 结果: Jsoup可以将值HTML转换为XHTML吗? 问题答案: 见:

  • 问题内容: 我知道,当我阅读答案时,会发现我已经忽略了我眼中的事物。但是我花了最后30分钟试图自己弄清楚,但没有结果。 因此,我正在用Java 6编写程序,并发现了一些(对我而言)奇怪的功能。为了尝试隔离它,我举了两个小例子。我首先尝试了以下方法: 编译器拒绝了它:类型不匹配:无法从null转换为int。 这对我来说很好,并且尊重我熟悉的Java语义。然后我尝试了以下方法: 编译没有错误!但是,我