Se la funzione riceve un oggetto DOM e non è necessaria alcuna funzionalità jQuery per tale oggetto DOM, non è necessario convertirlo in un oggetto jQuery. Ad esempio, se si riceve un oggetto casella di controllo, è possibile esaminare la proprietà checked
senza alcun utilizzo di jQuery.
Tuttavia, se è necessario passare a un elemento diverso da quello casella di controllo, potrebbe essere utile per convertirlo:
jQuery (come fanno altre biblioteche) fondersi perfettamente con JS nativi. Se hai bisogno di funzionalità aggiuntive, aumenta l'oggetto in questione.
Come per la tua ultima domanda: potresti trovare utile la funzione data
per evitare attributi DOM non standard. Se la tua proprietà x
nella tua domanda è in effetti un attributo DOM valido, puoi scrivere sia this.x = y
o $(this).attr('x', y)
, IMO non importa molto. Tuttavia, se x
non è un attributo DOM, utilizzare
$(this).data('key', value)
questo modo, è possibile memorizzare coppie chiave-valore arbitrari con l'elemento DOM, dove value
può essere un valore arbitrario primitivo o oggetto.
fonte
2010-06-08 03:38:28
.attr() è per gli attributi html ... questo.x non funziona così. È possibile modificare le proprietà dom in questo modo, ma non ci sono molti usi per questo. – colinmarc