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

164
Views
Use el atributo de datos en javascript para modificar el ancho de los elementos

Todavía soy nuevo, así que perdónenme si esta pregunta es demasiado trivial o si el tema ya se ha discutido. No encontré nada específico, lo que me llevó a abrir una nueva pregunta. Dicho esto, así es como funciona:

Estoy pasando valores de mi base de datos a atributos de datos para usarlos en javascript para alterar el ancho de ciertos elementos (es decir, gráficos). El elemento que debe modificarse de acuerdo con el valor recuperado es una etiqueta p (junto con otros, se encuentra dentro de un foreach):

 <span class="fdpg-nut-vline"><p class="fdpg-nut-graph" id="graph" data-somedat="<?php echo "'" . $value['Nu_Val'] . "%'" ?>"></p></span>

El valor del atributo de datos con el nombre "somedat" que quiero usar en js, así:

 var somevar = document.getElementById('graph').getAttribute("data-somedat"); document.getElementById("graph").style.width = somevar;

¿Lo que hice?

  • Verifiqué si el formato del valor es correcto. Por lo tanto, establecí una variable 'estática' var somevartest = '20%'; y lo usé en el código anterior. Funcionó y el gráfico cambió en consecuencia.
  • Verifiqué si el valor se pasa al atributo de datos: (1) en el código fuente (¡está ahí!) Y luego incluí una alerta que también me muestra el valor en el formato correcto (es decir , 'x%' ).

¿Qué es lo que no estoy recibiendo? ¿Cómo puedo solucionar mi problema?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La forma correcta de pasar datos de PHP a JavaScript es usando una cadena JSON.

PHP:

 <?php $arr = get_from_database_as_array(...); // at end of page before your scripts: echo "<script>"; echo "var data = " . json_encode($arr, true) . ";"; echo "</script>";

HTML:

 <script> console.log(data); document.getElementById("elem1").style.width = data["elem1"] + "px"; document.getElementById("elem2").style.width = data["elem2"] + "px"; // and so on. </script>
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!