Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以用JavaScript将网站上的现有价格替换为转换后的价格?_Javascript_Html_Google Chrome Extension - Fatal编程技术网

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

是否可以用JavaScript将网站上的现有价格替换为转换后的价格?,javascript,html,google-chrome-extension,Javascript,Html,Google Chrome Extension,过去几天,我一直在尝试为我的浏览器扩展编写一些代码,我一直在转换网站上的价格 到目前为止,我意识到我可以通过document.querySelectionAll('.price\uu blocks')从技术上获得一个价格数组,但它不能让我的代码在操场上运行,因为它给出了一个错误:*VM8032:2未捕获类型错误:节点[I]。替换不是一个函数* 两点三十八分 操场代码 vals=[“80.00美元”,“50.00美元”,“70.00美元”,“69.99美元]; 对于(变量i=0;i

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

到目前为止,我意识到我可以通过
document.querySelectionAll('.price\uu blocks')
从技术上获得一个价格数组,但它不能让我的代码在操场上运行,因为它给出了一个错误:
*VM8032:2未捕获类型错误:节点[I]。替换不是一个函数*
两点三十八分

操场代码
vals=[“80.00美元”,“50.00美元”,“70.00美元”,“69.99美元];
对于(变量i=0;i<4;++i){
var priceNum=parseFloat(VAL[i].替换(/$/g,“”))
priceNum=priceNum*0.000020+“BTC”
console.log(priceNum)
}
vals=[“80.00美元”,“50.00美元”,“70.00美元”,“69.99美元];
对于(变量i=0;i<4;++i){
var priceNum=parseFloat(VAL[i].替换(/$/g,“”))
priceNum=priceNum*0.000020+“BTC”
console.log(priceNum)

}
根据实际代码,您试图从元素调用replace函数,只能对字符串调用replace函数

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

var nodes=document.querySelectorAll('.price\uu块')
对于(变量i=0;i
多亏了拉布伦修斯教授,我终于找到了解决办法

var nodes=document.querySelectorAll('.price\uu块')
对于(变量i=0;i}
querySelectorAll返回元素列表。测试代码是一个字符串数组。字符串有替换方法,元素没有。您可能希望在
parseFloat(节点[i])中使用
innerHTML
textContent
~ie:
parseFloat(节点[i]。textContent.replace()
etcHi,回应你的建议,@ProfessorAbronsius textContent有点有效,但出于某种原因,它在控制台内打印价格,而不是在网站上,但在其他例子中,innerHTML更改了所有价格,但改为NaN。嗨,我试着运行你的代码,遇到了一些有趣的事情,它做了我想说的一半在运行了浏览器控制台的代码之后,它确实将值更改为BTC,但是对于网站PAR,它显示了楠而不是价格。如果我编写控制台。log(节点[…])它在BTC的控制台中返回正确的值,但如果我在浏览器扩展中添加相同的代码行,它会将NaN登录到控制台。你说的浏览器扩展是什么意思?我正在尝试开发浏览器扩展^^
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)
}