Necesito establecer una identificación de datos aleatoria con dos valores A y B. Necesito un script que pueda hacer esto.
<div class="demo" data-id="A" /> .... </div>Para archivar esto creo que tienes que hacer tres pasos.
Primero: recopile todos los valores que necesita en una matriz.
var myPossibleValues = ["A","B"];Segundo: Generar un número entero aleatorio.
Basado en Generar número aleatorio entre dos números en JavaScript
var randNum = Math.round(Math.random() * myPossibleValues.length); El parámetro myPossibleValues.length le permite ampliar la matriz con elementos adicionales y utilizarla como valor de rango máximo.
Tercero: lea el número generado, aplíquelo en la matriz y asócielo a su atributo de datos.
var videoDiv = document.getElementsByClassName("demo"); videoDiv[0].setAttribute("data-id",myPossibleValues[randNum]); Debido al hecho de que getElementsByClassName() devuelve una matriz, el [0] es necesario para el -solo- primer elemento html coincidente.
Esta respuesta es una buena solución, pero dado que el Problema solo necesita seleccionar un valor entre dos posibilidades, no complicaría demasiado las cosas.
const demo = document.querySelector('.demo'); demo.setAttribute('data-id', Math.random() > 0.5 ? 'A' : 'B');Lo que hace este script:
.demodata-id en A o B dependiendo de si el valor aleatorio está por encima de 0,5 o por debajo; las posibilidades son 50/50