Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

193
Views
Llame a la variable JS en un archivo div específico de HTML en función de la condición if y else

Tengo 2 variables que contienen datos que necesito para llamar en HTML según la lógica js, ¿puede verificar y corregir el código para mí lo que me falta?

 ${specialprice} and ${price}

Necesito que la condición de javascript se defina en el archivo javascript y lo llame en html. (Archivo JS ya conectado a html)

Lo que necesito es completar esta lógica si ${specialprice} contiene algún valor y luego mostrarlo junto con ${price}

si está vacío, muestra solo ${price}.

condición en el archivo JS:

 hasspecialprice() { if(${specialprice} != ''){ var data = "<p class="specialprice">"۔${specialprice}",-</p> <p class="price"><span class="visibleprice">"۔${price}",-</span></p>" } else { var data = "<p class="price"><span class="visibleprice">".${price}",-</span></p>" } }

Llame a esta función en HTML:

 <div class="priceplace"> <script>hasspecialprice();</script> </div>
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Aquí hay un ejemplo de cómo podría cambiar el contenido de un div dinámicamente usando js. Lo importante a tener en cuenta (además de la sintaxis corregida) es que seleccioné el objetivo de salida en js y luego actualicé su contenido en función de los valores relevantes.

 // select the form used for the demo const form = document.querySelector('form'); // select the output div const target = document.querySelector('.priceplace'); // define our example data const data = { price: 0, specialprice: 0 }; // when a formfield is changed, we change our example data and update the output form.onchange = ({ target: { value, name } }) => { data[name] = value; hasspecialprice(data.price, data.specialprice); }; function hasspecialprice(price, specialprice) { // using a ternary expression is equivalent to a simple if/else // we change the output's html based on the condition target.innerHTML = specialprice !== '' ? `<p class="specialprice">${specialprice},-</p> <p class="price"><span class="visibleprice">${price},-</span></p>` : `<p class="price"><span class="visibleprice">${price},-</span></p>` }
 <form> Specialprice: <input name="specialprice"> Price: <input name="price"> </form> <div class="priceplace" style="border: 1px solid black; height: 16px"></div>

about 4 years ago · Juan Pablo Isaza Report

0

En el código Javascript, no necesita usar la instrucción ${} . El ${} solo se usa cuando necesita concatenar cadenas con variables. Solo necesita eliminar esto de su declaración if. Podrías mejorar para usar

 hasspecialprice() { if(specialprice != ''){ var data = "<p class="specialprice">"۔${specialprice}",-</p> <p class="price"><span class="visibleprice">"۔${price}",-</span></p>" } else { var data = "<p class="price"><span class="visibleprice">".${price}",-</span></p>" } }
about 4 years ago · Juan Pablo Isaza Report

0

Si tiene una forma de llamar a la función hasspecialprice(), entonces debe probar esto.

 hasspecialprice() { const inputDiv = document.getElementsByClassName("priceplace"); if(${specialprice} != ''){ var pElement = document.createElement('p'); // CREATING AN ELEMENT pElement.className += "specialprice"; // ADDING CLASSE TO IT pElement.innerText = specialprice; // ADDING DATA TO IT var secondPElement = document.createElement('p'); secondPElement.className += "price"; var spanElement = document.createElement('span'); spanElement.className += "visibleprice"; spanElement.innerText = price; inputDiv.append(pElement); secondPElement.appendChild(spanElement); inputDiv.append(secondPElement); } else{ var secondPElement = document.createElement('p'); secondPElement.className += "price"; var spanElement = document.createElement('span'); spanElement.className += "visibleprice"; spanElement.innerText = price; secondPElement.appendChild(spanElement); inputDiv.append(secondPElement); } }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!