Właśnie zauważyłem, że jeśli dam niestandardowy atrybut do elementu HTML, na przykład:niestandardowy atrybut działa tylko z element.getAttribute („atrybut”), ale nie „element.attribute”
<input type="button" id="my_button" custom_attr="custom_attr_text" value="value_text" />
potem można odzyskać tak:
document.getElementById("my_button").getAttribute("custom_attr");
i powróci "custom_attr_text"
, ale jeśli to zrobię
document.getElementById("my_button").custom_attr;
następnie zwraca undefined
!
Zauważyłem również, że z wbudowanym atrybutem (na przykład value
lub id
) oba powyższe działają poprawnie! Czy ktoś mógłby wyjaśnić, dlaczego tak się dzieje?
To littlebit jQuery konkretne, ale patrz wtórnik [.prop() vs .attr()] (http://stackoverflow.com/questions/5874652/prop-vs-attr). Jeśli chcesz tylko zwykły-js wyjaśnienia, patrz http://javascript.info/tutorial/attributes-and-custom-properties – Bergi