Jak zaappendować drugi span na koniec i usunąć pierwszy?

Jak zaappendować drugi span na koniec i usunąć pierwszy?
  • Rejestracja: dni
  • Ostatnio: dni
0

Męczę się już chyba od 2 godzin. Mam diva, w nim tekst + 0 albo 1 span z tekstem i nic więcej. Jeżeli chcę dodać spana do sprawdzam czy już jakieś są, jeżeli tak to usuwam i próbuję dodać nowego.

Kopiuj
<div class="moj-div">
    qwerty<span>zxc</span>
</div>
Kopiuj
if($(".moj-div:contains('"+mojString+"') > span" ).length>0) {
	$(".moj-div:contains('"+mojString+"') > span").remove();
	}
	
$(".moj-div:contains('"+mojString+"')").append(' <span>('+innyString+')</span>');

Niestety to nie działa. Raz span się doda, przy drugiej próbie dodania się tylko usuwa i nowy już się nie dodaje.

  • Rejestracja: dni
  • Ostatnio: dni
0

Znowu rozwiązałem problem po napisaniu na forum. Zamieniłem miejscami te instrukcje i już działa (tylko lenght>1).

  • Rejestracja: dni
  • Ostatnio: dni
0

Chociaż teraz nie zawsze span się stawia, jeszcze nie doszedłem do tego kiedy tak, kiedy nie, jakby losowo.

Allocer44
  • Rejestracja: dni
  • Ostatnio: dni
0

A nie możesz, tak po ludzku ukrywać css'owo tego spana, a jak jest Ci potrzebny to go odkrywać?

_naf
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Z pierwszego posta ustaliłem, że masz div'a moj-div który może zawierać tag <span>, a ty chcesz:
a) jeżeli już zawiera tag <span> chcesz go usunąć i dodać nowy,
b) jeżeli nie zawiera tagu <span> chcesz go dodać.

Kopiuj
var innyString = 'dupa';

if($(".moj-div").is(':has(span)')){       // jeżeli w .moj-div znajduje się span
    $(".moj-div span").remove();          // usuń go
    $(".moj-div").append('<span>'+innyString+'</span>');      // i dodaj nowy
} else {                                 // jeżeli w .moj-div nie ma żadnego span'a
    $(".moj-div").append('<span>'+innyString+'</span>');     // dodaj go
}

następnym razem staraj się opisać problem, tak aby nie trzeba było się zastanawiać o co chodzi :P

  • Rejestracja: dni
  • Ostatnio: dni
0

Dzięki, działa - tylko zostawiłem samego ifa bez elsa, a powtarzającą instrukcję dałem po nim. Chociaż nie wiem dlaczego moja wcześniejsza wersja nie działała.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.