Jeśli span ma kolor #fff zmień na inny

0

Witam, chciałbym wprowadzić zmianę na swojej stronie tego typu, że:

  • skrypt sprawdza czy span na stronie posiada kolor czcionki #ffffff
  • jeśli posiada to zmienia ten kolor na inny
  • jeśli nie posiada to nic nie robi

Napisałem taki skrypt ale nie działa jak należy:

<script>
	$(document).ready(function() {
		$("#idTab1 span").addClass("nasz_span");

		  $( ".nasz_span" ).each(function( i ) {
			if ( this.style.color == "#ffffff" ) {
			  this.style.color = "red";
			}
		  });

	});
</script>

Przesyłam przykładowy kod html:

<div id="idTab1">
   <p><span style="color: #ffffff">text</span><span>text</span></p>
   <p><span>text</span><span>text</span></p>
   <p><span>text</span><span style="color: #ffffff">text</span></p>
</div>

Wydaje się, że kod powinien działać prawidłowo ale w czym jest problem to nie wiem :/
Dodałem do każdego span klasę "nasz_span" ale to chyba nie jest konieczne ale też nie powinno powodować problemów.

Proszę o pomoc doświadczonych programistów, ja się dopiero uczę :)

0

Ok. problem rozwiązany, może się komuś przyda.

W warunku if wstawiamy wartość RGB koloru i jest wszystko ok:

<script>
	$(document).ready(function() {
		  $( "#idTab1 span" ).each(function( i ) {
			if ( this.style.color == "rgb(255, 255, 255)" ) {
			  this.style.color = "#5d5c59";
			}
		  });
	});
</script>

Doszedłem do tego metodą prób i błędów, wstawiłem do kodu:
alert(this.style.color);

i to mi pomogło rozwiązać problem.

0

Nie wiem jak na IE9 ale na IE11 działa.
Pozostałe przeglądarki - wszystko ok.
Gdzieś jest błąd ?

0

Zainteresuj się preprocesorem CSS - http://lesscss.org/features/#mixin-guards-feature

0

Dość fajny. Mówisz, że da się zastąpić cześć jquery ?
Z responsive (@media) nie ma problemu ?

0

Wydaje mi się, że nie powinno być najmniejszego problemu. Koniec końców wszystko kompiluje do CSS.

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