Я просто заметил, что если я дам пользовательский атрибут HTML-элемент, например:пользовательский атрибут работает только с element.getAttribute («атрибут»), но не «element.attribute»
<input type="button" id="my_button" custom_attr="custom_attr_text" value="value_text" />
то я могу получить его так:
document.getElementById("my_button").getAttribute("custom_attr");
и он вернется "custom_attr_text"
, но если я
document.getElementById("my_button").custom_attr;
, тогда он возвращает undefined
!
Я также заметил, что со встроенным атрибутом (например, value
или id
) оба вышеописанного прекрасно работают! Не могли бы вы объяснить, почему это происходит?
Это маленький бит jQuery-specific, но см. Дубликат [.prop() vs .attr()] (http://stackoverflow.com/questions/5874652/prop-vs-attr). Если вы хотите объяснение only-plain-js, см. Http://javascript.info/tutorial/attributes-and-custom-properties – Bergi