Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

189
Vistas
¿Cómo establece un valor de atributo que es un literal JSON dentro de un DOM?

Estoy tratando de establecer el valor de un valor clave en un literal JSON que está contenido con una etiqueta, por ejemplo, en el fragmento debajo de la información de datos es el literal JSON.

 <video id="myPlayer_1" width="90%" poster="videos/posters/NoVideoPoster.png" data-info="{"start_time": "71522", "end_time":"71622", next_video:"0"}"> </video>

Ahora puedo leer el atributo usando el siguiente código:

 var ar = JSON.parse(videoElement.getAttribute("data-info")) console.log("next video" + ar.next-_video);

pero configurarlo está resultando difícil, por ejemplo:

 videoElement.setAttribute("data-info.next_video", "1");

produce:

 <video id="myPlayer_1" width="90%" poster="videos/posters/NoVideoPoster.png" data-info="{"start_time": "71522", "end_time":"71622",next_video: "0"}" data-info.next_video = "1"> </video>

Lo cual obviamente no es correcto. ¿Alguien puede ayudar?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Tienes que configurar todo el atributo. Para el DOM, recuerda, es solo una cadena.

Entonces, por ejemplo, después de haberlo leído y analizado:

 var ar = JSON.parse(videoElement.getAttribute("data-info"))

puede actualizarlo y configurarlo nuevamente convirtiéndolo nuevamente a JSON (una cadena):

 ar["next-video"] = 1; videoElement.setAttribute("data-info", JSON.stringify(ar));

Si tiene el control del elemento y necesita actualizar solo partes de esa información, puede considerar atributos data-* separados en lugar de uno solo con JSON. Por ejemplo:

 <video id="myPlayer_1" width="90%" poster="videos/posters/NoVideoPoster.png" data-start-time=71522 data-end-time=71622 data-next-video=0 ></video>

Luego, actualizar el "próximo video" es:

 videoElement.dataset.nextVideo = "1";

Observe cómo el conjunto de dataset convierte data-next-video a nextVideo . Ver los detalles en MDN .

about 4 years ago · Juan Pablo Isaza Denunciar

0

en vez de

 videoElement.setAttribute("data-info.next_video", "1");

deberías hacer esto

 var ar = JSON.parse(videoElement.getAttribute("data-info")) ar.next_video = "1"; videoElement.setAttribute("data-info", JSON.stringify(ar));
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda