Jak znalezc element z konkretną wartością tła (jQuery) ?

0

Probuje uzyskać element z ul , ktorej przypisalem klase nav_list. Wszystkie .nav_list li sa tworzone dynamiczne i są zakładkami przypisanymi do konkretnych div'ów. Na kazdej zakladce jest <span class= "hidden"> , ktorego jest krzyzykiem do usuniecia zakladki. Po usunięciu zakładki, chcialbym, zeby program znalazl inną tą, ktora jest podświetlona, czyli ma .css('background-color') == "rgb(72, 76, 111)" .Jesli zadna nie bedzie podswietlona, to wybiera $(".nav_list li:last-child")
Ustawiłem alert tylko zeby sprawdzic, czy filter() działa poprawnie, ale wyrzuca mi undefined . Prosze o pomoc/sugestie

$(document).on('click','.hidden',function(e){
	  var elmt = $(this).parent();
	 
	 // wkleilem tylko kod dla zakladki patient_nav
	if ( elmt.is(".patient_nav") && $(".nav_list").children().length > 1) {
		 
         $("#patient_tab").css("display", 'none');  
         elmt.remove();

var matching = $('.nav_list li').filter(function(index){
		 	
                   return $(this).css('background-color') == "rgb(72, 76, 111)" } );
                  alert(matching.attr("class"));
(..).
0

A potem ktoś zmieni CSS i JS się posypie? ;-)
Znacznie lepiej byłoby wykrywać elementy po ich klasach, a nie konkretnych atrybutach stylów.

0
Patryk27 napisał(a):

A potem ktoś zmieni CSS i JS się posypie? ;-)

Zgadzam sie, ale chce wyswietlic dany <div> bazujac na tym, w co kliknie uzytkownik, a skad mam wiedziec, w co kliknie?

Moze dodac klasę? np addClass("selected)" do wybranej zakladki ?
Jak wtedy szukac w zbiorze tego elementu? Dzieki

0

Tak, powinieneś wykorzystać klasę - potem możesz wykorzytać $(this).find('.selected').

0
Patryk27 napisał(a):

Tak, powinieneś wykorzystać klasę - potem możesz wykorzytać $(this).find('.selected').
Super dzieki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1