Javascript - cum să verificați dacă elementul este ascuns în jquery dom, cod q - un rus (ru)

Nici unul dintre aceste răspunsuri nu afectează ceea ce înțeleg, aceasta este întrebarea pe care o căutam: "Cum se pot ocupa elementele cu vizibilitate: ascunse?". Nici: vizibile și nici ascunse nu se vor ocupa de acest lucru, deoarece ambii caută un afișaj în documentație. Din punctul meu de vedere, nu există selector pentru a controla vizibilitatea CSS. Iată cum l-am rezolvat (selectorul jQuery standard, poate sintaxă mai comprimată):







Puteți determina dacă elementul este generat sau nu utilizând selectori vizibili și: ascunși.

Dacă manipulați pur și simplu un element bazat pe vizibilitatea acestuia, puteți include pur și simplu: vizibil sau ascuns în expresia selectorului. De exemplu:

Adesea, dacă verificați dacă ceva este vizibil sau nu, veți merge imediat înainte și faceți altceva cu el. Lanțul jQuery face acest lucru ușor.

Prin urmare, dacă aveți un selector și doriți să efectuați o acțiune asupra acestuia, numai dacă este vizibil sau ascuns, puteți utiliza filtrul (": vizibil") sau filtrul (": ascuns") și apoi îl obligați , pe care doriți să o luați.

Prin urmare, în loc să afirmăm dacă. de exemplu:

Sau mai eficient, dar și mai urât:

Puteți face totul într-o singură linie:

Selector: vizibil în conformitate cu documentația jQuery.

  • Nu au afișat în CSS.
  • Acestea sunt elemente de formă cu tipul = "ascuns".
  • Lățimea și înălțimea lor sunt clar stabilite la 0.
  • Elementul strămoșului este ascuns, deci elementul nu este afișat pe pagină.






Elementele cu vizibilitate: ascunse sau opacitate: 0 sunt considerate vizibile, deoarece încă mai consumă spațiu în aspect.

Acest lucru este util în unele cazuri și este inutil pentru alții, pentru că dacă doriți să verificați dacă elementul este vizibil (afișarea! = Niciuna), ignorând vizibilitatea părintelui, veți descoperi că execuția .css ("display") == ' Nu numai mai repede, dar și în mod corect, verificați vizibilitatea.

Dacă doriți să verificați vizibilitatea în loc să afișați, ar trebui să utilizați. css ("vizibilitate") == "ascuns".

Deoarece: vizibil este o extensie a jQuery, nu face parte din specificația CSS, interogările utilizând: vizibil nu pot profita de îmbunătățirile de performanță oferite de metoda DOM querySelectorAll () încorporată. Pentru a obține cele mai bune performanțe atunci când utilizați: vizibil pentru selectarea elementelor, selectați mai întâi elementele utilizând un selector CSS curat, apoi utilizați .filter (": visible").

Acest lucru funcționează pentru mine, și folosesc show () și ascunde () pentru a-mi div ascunse / vizibile:

Elementul poate fi ascuns prin afișare: niciunul. vizibilitate: ascunsă sau opacitate: 0. Diferența dintre aceste metode:

  • afișare: niciunul nu ascunde elementul și nu ocupă spațiu;
  • vizibilitate: Ascunde ascuns elementul, dar are încă loc în aspect;

opacitate: 0 ascunde elementul ca "vizibilitate: ascuns" și are încă loc în aspect; Singura diferență este că opacitatea face ca elementul să fie parțial transparent;

Metode de comutare jQuery utile:

Pentru a ascunde / a afisa un apel, apelez .addClass ("ascunde") /. RemoveClass ("ascunde"). Pentru a verifica vizibilitatea, folosesc .hasClass ("ascunde").

Acesta este un mod simplu și intuitiv de a verifica / ascunde / afișa elementele dacă nu intenționați să folosiți .toggle () sau .animate ().







Trimiteți-le prietenilor: