Selezione di un elemento senza id in HTML con jQuery

Summerwind78
Buongiorno a tutti

ho questo codice HTML all'interno di una pagina

<div class="select-wrapper mdb-select md-form _idLngSelector">
	<span class="caret">▼</span>
	<input type="text" class="select-dropdown" readonly="true" data-activates="select-options-7ee0c8df-27e0-4188-bc75-5ea1f6fd2674" value="">
	<ul id="select-options-7ee0c8df-27e0-4188-bc75-5ea1f6fd2674" class="dropdown-content select-dropdown w-100 ">
		<li class=">
			<img alt="" src="images/flags/en.png" class="rounded-circle">
			<span class="filtrable"> English</span>
		</li>
		<li class="">
			<img alt="" src="images/flags/fr.png" class="rounded-circle">
			<span class="filtrable"> Français</span>
		</li>
		<li class="active">
			<img alt="" src="images/flags/it.png" class="rounded-circle">
			<span class="filtrable"> Italiano</span>
		</li>
	</ul>
	<select class="mdb-select md-form _idLngSelector initialized">
		   <option value="en" data-icon="images/flags/en.png" class="rounded-circle">English</option>
		   <option value="fr" data-icon="images/flags/fr.png" class="rounded-circle">Français</option>
		   <option value="it" data-icon="images/flags/it.png" class="rounded-circle" selected="selected">Italiano</option>
	</select>
</div>


e ho bisogno di applicare la classe "Active" al "li" all'interno del quale trovo lo "span" con la parola "Italiano"

di solito uso jQuery per queste cose ma adesso mi sto trovando in difficoltà

al momento ho provato quanto segue:

let l = $('._idLngSelector').children('ul').children('li');
l.removeClass('active');
let k = l.find("span:contains('" + lng + "')"); //lng vale "Italiano"


ma la variabile $k$ è un elemento vuoto

qualcuno saprebbe suggerirmi quale sia il metodo giusto?

Vi ringrazio molto

Risposte
giovx24
ciao
non so se ho capito, devi accedere allo span con scritto "italiano"?

in tal caso

let span;
$("#select-options-7ee0c8df-27e0-4188-bc75-5ea1f6fd2674").find("li span").each(function(){
    
    if($(this).html() == ' Italiano'){
        span = $(this);
    }
});


qualcosa del genere può andare bene

Summerwind78
Ciao

per prima cosa grazie per la risposta.

In realtà ho bisogno del "li" nel quale "span" ha scritto "italiano"

Summerwind78
Ho risolto!

Grazie mille per il suggerimento

giovx24
di nulla :)
posta il codice se puoi

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.