Wmasphp jquery dacă există un atribut pentru element

Lucrul cu elemente HTML, întâlnim adesea necesitatea de a verifica corect dacă au anumite atribute. Pentru comoditate, folosesc biblioteca jQuery, dar nu există ceva de genul hasAttr (). Cum să verificăm acolo un atribut la un element? Despre asta vom vorbi în acest articol.

Și voi începe cu faptul că trebuie să distingem în mod clar atributele și proprietățile elementelor HTML. Pentru a lucra cu atributele în jQuery, utilizați metoda attr (). și pentru proprietățile elementului, metoda prop (). Metoda attr () returnează valoarea șirului atributului, în timp ce prop () îl interpretează în tipul dorit. De exemplu: $ (elem) .attr ("checked") - poate returna valoarea verificată verificată. în timp ce: $ (elem) .prop ("checked") - returnează TRUE. Pentru a rezolva sarcina în fața noastră, este mai bine să utilizați metoda attr (). de exemplu:

dacă ($ ("em")) attr ("alt")) console.log ("ok");

Adesea, acest lucru va fi de ajuns pentru că în caz de eroare: $ ("em") attr ("alt") - returnează valoarea nedefinită (din limba engleză nu este definită) sau FALSE. în funcție de browserul pe care îl utilizați.

Dacă doriți să vă asigurați că totul va funcționa exact așa cum vă trebuie, puteți utiliza următoarea construcție:

Variabilă a lui ();
dacă (attr = = undefined attr! == fals) console.log ("ok");

Vă atrag atenția asupra faptului că operatorul strict de inegalitate (! ==) este folosit aici. și anume luând în considerare tipul de valoare. Desigur, dacă doriți, puteți utiliza operatorul de tip. de exemplu:

Variabilă a lui ();
dacă (typeof attr! == 'undefined' attr! == false) alertă ("ok");

În acest caz, va trebui să îl comparați cu valoarea șirului de tip de date. Cu toate acestea, sunt oarecum jenat de această complicație a construcției.

Există încă una, mai simplă, dar, din punctul meu de vedere, o opțiune mai intensă de resurse. Deși nu am avut încă probleme cu el. Se bazează pe utilizarea metodei is (). care este capabil să lucreze cu selectorii și să returneze o valoare logică specială TRUE sau FALSE. Astfel, verificarea prezenței unui atribut pentru un element poate să arate ca:

dacă ($ ("em") este ("[alt]")) console.log ("ok");

Pe asta am totul. Vă mulțumesc pentru atenție. Mult noroc!