Sé que puede parecer un duplicado, pero no lo es.
Así es como se ve mi selección:
<select id="avpMy4Y7E4cH_-iIRmmAK6-2GsEOu6Sjr-0-0"> <option value="1Ltr [ <span class=money>Rs.1,495.00</span> ]">...</option> </select>Solo quiero obtener el valor de la clase "dinero".
Esto es lo que probé:
var val = $('#avpMy4Y7E4cH_-iIRmmAK6-2GsEOu6Sjr-0-0 option:selected').find('.money').val();Pero este valor de retorno vacío.
¿Cómo puedo obtener ese valor específico?
No tengo claro qué es lo que quiere que se devuelva, pero esto devolverá el textContent de texto del intervalo, así como los classNames de clase. Los elementos Span no tienen propiedades de valor.
Puede usar DOMParser para convertir el texto de la opción seleccionada en un documento HTML, seleccionar los elementos del documento que coincidan con ese selector y extraer el textContent del texto.
window.addEventListener("DOMContentLoaded", () => { const opt = document .querySelector('#avpMy4Y7E4cH_-iIRmmAK6-2GsEOu6Sjr-0-0 option:checked'); const parser = new DOMParser(); //convert the value of the selected option to html document const htmldoc = parser.parseFromString(opt.value, "text/html"); //select all elements with className money from html document const moneys = htmldoc.querySelectorAll('.money'); //iterate each and display it's textContent moneys.forEach((a) => { console.log(a.textContent); //if you want to read the classNames a.classList.forEach((b) => { console.log(b); }); }); }); <select id="avpMy4Y7E4cH_-iIRmmAK6-2GsEOu6Sjr-0-0"> <option selected value="1Ltr [ <span class=money>Rs.1,495.00</span> ]"></option> </select>