Ho il seguente codice HTML e il jQuery associato. La funzione html
funziona correttamente ma la funzione data
non influisce affatto sull'HTML, non riesco affatto a capire come funziona, nessun errore nel browser.jQuery, data() non sta aggiornando l'attributo dei dati
HTML
<span id="usernameStatus" data-valid="0">x</span>
jQuery
data
viene restituito da una chiamata AJAX, sarà sempre e solo essere true
o false
.
function validUsername(data)
{
if (data === 'true') {
$("#usernameStatus").html("y").data("valid", 1);
} else {
$("#usernameStatus").html("x").data("valid", 0);
}
}
[Possibile duplicato.] (Http://stackoverflow.com/q/8707226/6188402) –
Abbastanza sicuro che la funzione di dati non funzioni come ci si aspetterebbe. Sono piuttosto sicuro che jquery faccia una copia/ref/cosa degli attributi dei dati in modo che tu cambi ciò che non è attr. Se si guarda il .data per lo stesso elemento dopo averlo modificato, si vedrà che è cambiato ma l'attr di html rimarrà lo stesso. – Spaceman
Puoi trovare una buona spiegazione qui: http://stackoverflow.com/questions/36663690/jquery-prop-returns-undefined-while-attr-works-as-expected-for-data –