Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Usuwanie elementu z pewną zawartością
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Mephis
Witam.

Na stronie generuję niewielką listę z odpowiednimi wartościami. Struktura wygląda tak:

  1. <span id="con"><span id="value">5</span> jakiś tekst</span>


Jednak chciałbym z poziomu przeglądarki, po załadowaniu strony usunąć cały <span id="con">, w którym zawartość <span id="value"> jest pusta.
Jak wyglądałby taki kawałek jQuery?

Pozdrawiam, Przemysław.
IProSoft
Rozumiem, że na stronie masz jeden DIV o id# value ?

[JAVASCRIPT] pobierz, plaintext
  1. if( $("#value").text() == '' )
  2. {
  3. $("#value").parent().remove();
  4. }
[JAVASCRIPT] pobierz, plaintext
Mephis
Hmm.. No właśnie nie. Takowych jest wiele.

Co do skryptu... Ogólnie to działa, jeśli w warunku będzie równe liczbie (nie działa z pustymi cudzysłowami). I rzecz jasna z racji tego, że to nie jedyny element - usuwany jest tylko pierwszy.

-----------------------

Jednak sobie poradziłem, trochę krótszym kawałkiem kodu, ale bez pomocy by się nie obeszło:
  1. $("#value:empty").parent().remove();


Także dziękuję, temat do zamknięcia.
IProSoft
Pamiętaj przy projektowaniu, że ID powinien być unikalny, a nie jak u Ciebie wstawiany jak klasa.
Mephis
Id używałem tylko żeby wskazać w skrypcie element... Można jakąś inaczej? Bez tego id?

Ponawiam temat, gdyż dla estetyki w skrypcie, zamiast pozostawiania zmiennej pustej, jest generowana 0.00.
W takim wypadku :empty mi nie pomoże. W jaki sposób postawić warunek?

Próbowałem coś w ten deseń, ale.. cóz, nie wychodzi.
  1. if( $("#value").text() == "0.00" ) {
  2. $("#value").parent().remove();
  3. }
Turson
Zamiast id może być klasa
Mephis
Obeszło się bez warunku i niepotrzebnego id.
  1. $( ".class span:contains(\'0\')" ).parent().remove();


---------------------------------

Hmm.. No tak.. Mimo generowania w skrypcie wartości 0.00, wyświetlana jest tylko cyfra 0.
Powyższy skrypt usuwa spany, których wewnętrzne spany zawierają, a nie wynoszą 0.
Tym samym usuwane są też wartości np. 0.25... Ma ktoś jakieś pomysły?

---------------------------------

Problem rozwiązany...
  1. $(".class span").each(function () {
  2. if ($(this).text() == "0") {
  3. $(this).parent().remove();
  4. }
  5. });
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.