Per quanto ne so, la funzione .prop() può fare tutto ciò che la funzione .attr() può fare, ma in un modo generalmente più sicuro e semplice.C'è qualche situazione in cui devo usare .attr() su .prop()?
Ad esempio:
- Se voglio ottenere lo stato di default di una casella di controllo nel codice HTML, che posso fare
$('myCheckbox').prop('defaultChecked')
(invece di$('myCheckbox').attr('checked')
). Questo sembra realmente più sicuro che usare.attr('checked')
, come l'attributo può perdere il suo valore, se la casella di controllo viene modificata dinamicamente, mentre.prop('defaultValue')
mantiene il valore (ad esempio http://jsfiddle.net/p1Lrgwnb/1/) - Anche se vedo spesso
.attr()
utilizzato in modo coerente con i valori comeid
ename
su esempi StackOverflow,.prop()
funziona anche con quelli. Non conosco alcun motivo per cui.attr()
sembra essere preferito per questi valori oltre alle convenzioni e abitudini tradizionali.
C'è mai stato un caso d'uso in cui avrei bisogno di utilizzare .attr()
o che la funzione .prop()
non mi avrebbe dato le informazioni di cui avevo bisogno?
EDIT: Questa domanda non ha nulla a che fare con ciò che è la differenza tra .prop()
e .attr()
. Ho studiato a fondo queste domande su StackOverflow, incluso quello collegato sotto (stackoverflow.com/questions/5874652/prop-vs-attr). Dalla mia domanda, è chiaro che comprendo pienamente la differenza tra i due, probabilmente meglio della maggior parte. La mia domanda è se ci sono circostanze I deve use .attr(), che è una domanda completamente diversa da .prop() vs .attr().
Beh, c'è sempre [questo post preesistente] [1] per rispondere alla tua domanda. [1]: http://stackoverflow.com/questions/5874652/prop-vs-attr – dudewad
Sto votando per riaprire questa domanda, perché non credo che nessuna risposta sulla questione legata realtà discuti quando uno sviluppatore potrebbe voler usare 'attr()' in uno scenario reale. – StriplingWarrior
@dudewad Per favore leggi di nuovo la mia domanda. È completamente diverso dalla domanda che hai collegato, che ho letto e studiato in profondità prima di pubblicare la mia domanda. Se riesci a trovare una risposta alla mia domanda in quel collegamento, fai riferimento ad essa. – dallin