¿Cómo obtener el valor de mención de datos de las clases de intervalo con "mención dx" en javascript o jquery? lo siento... debe tomarse de la cadena de texto html, no de la página html...
<p> <span class="dx-mention" spellcheck="false" data-marker="@" data-mention-value="AgnesGan" data-id="AgnesGan"> <span contenteditable="false"> <span>@</span> AgnesGan </span> </span> <span class="dx-mention" spellcheck="false" data-marker="@" data-mention-value="AK" data-id="AK"> <span contenteditable="false"> <span>@</span>AK </span> </span> </p>Acceda a la propiedad del conjunto de datos para cada intervalo con la clase dx-mention . Use querySelectorAll para seleccionar los elementos de intervalo y luego itere sobre ellos.
conjunto de dataset devolverá un objeto. Sin embargo, debido a la forma en que se tratan los atributos mentionValue por guiones, debe orientar el valor de mención en lugar mention-value .
const spans = document.querySelectorAll('.dx-mention'); spans.forEach(span => { console.log(span.dataset); console.log(span.dataset.mentionValue); }); <p> <span class="dx-mention" spellcheck="false" data-marker="@" data-mention-value="AgnesGan" data-id="AgnesGan"> <span contenteditable="false"> <span>@</span>AgnesGan</span> </span> <span class="dx-mention" spellcheck="false" data-marker="@" data-mention-value="AK" data-id="AK"> <span contenteditable="false"> <span>@</span>AK</span> </span> </p>Podrías hacerlo así:
$('.dx-mention').map(function() { return $(this).attr("data-mention-value") }).get()Esto devolverá ambos intervalos seleccionados por la clase y obtendrá su valor de datos.
Manifestación
var string = `<p><span class="dx-mention" spellcheck="false" data-marker="@" data-mention-value="AgnesGan" data-id="AgnesGan"><span contenteditable="false"><span>@</span>AgnesGan</span> </span> <span class="dx-mention" spellcheck="false" data-marker="@" data-mention-value="AK" data-id="AK"><span contenteditable="false"><span>@</span>AK</span> </span> </p>` var log = $('.dx-mention', string).map(function() { return $(this).attr("data-mention-value") }).get() console.log(log) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>Puedes usar la siguiente declaración
document.querySelector('span.dx-mention').getAttribute('data-mention-value')si tiene varios elementos "span", puede usar querySelectorAll y hacer un bucle en los nodos devueltos por el método.