Método 'replace' não encontrado

jquery-javascript

#1

Bom dia,

Refazendo os exercícios do livro para praticar, fiquei travado neste que acredito ser um erro elementar. Já esgotei minhas energias para procurar o problema, por isso peço ajuda.

Abaixo o código:

function moneyTextToFloat (text) {
	var cleanText = text.replace("R$", "").replace(',', '.');
	return parseFloat(cleanText);
}

O erro apresentado é o seguinte:

carrinho.js:6 Uncaught TypeError: text.replace is not a function
at moneyTextToFloat (carrinho.js:6)
at carrinho.js:3

onde ‘carrinho’ é o nome do meu arquivo .js onde está o código.

Imagino que o problema deve ser simples, mas eu ceguei.

Help


#2

Como ninguém respondeu, eu mesmo tive que quebrar a cabeça e encontrar a resposta.
Eu joguei na internet e reparei que esse erro poderia estar acontecendo porque o objeto que estou passando como parâmetro na função não seria uma string (o que, aliás, não está no código que coloquei no tópico, por isso talvez ninguém conseguiu me ajudar).
Fiz um teste com o typeof para descobrir o que o meu parâmetro era e confirmei.

Eu estava selecionando o elemento através do getElementById mas não estava isolando o conteúdo da tag com o innerHTML.

Depois que fiz essa alteração, tudo funcionou.