提问者:小点点

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


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

到目前为止,我意识到我可以通过文档.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个答案

匿名用户

在实际的代码中,您试图从元素调用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;
  }