En mi página web tengo un párrafo que se ve así:
<p class="article-content mb-1" id="cost"><strong>Cost [Euro]: </strong>1000000</p>El número siempre es otra cosa (que leo de db y represento usando formularios de Django) y me gustaría representarlo como moneda (en este caso, 1.000.000). Traté de obtener el valor con:
function on_load() { var a = document.getElementById('cost').value; console.log(a) } on_load(); <p class="article-content mb-1" id="cost"><strong>Cost [Euro]: </strong>1000000</p>pero la salida de la consola es: 'indefinido'. Cuando obtenga valor, usaré algo como
(12345.67).toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,'); // 12,345.67Para convertir a moneda.
p no tiene un atributo de valor. Puede hacer esto para obtener y formatear el número usando el formato de número internacional
function on_load() { const costs = document.querySelector('#cost'); let number = costs.childNodes[1].textContent; costs.childNodes[1].textContent = new Intl.NumberFormat('de-DE').format(number); } on_load(); <p class="article-content mb-1" id="cost"><strong>Cost [Euro]: </strong>1000000</p>