Могу ли я, разработчик программного обеспечения jQuery 1.9+, «осудить» использование метода attr()
в моей повседневной работе?
Как показали многие вопросы,
- .prop() vs .attr() (основной)
- jQuery attr vs. prop, есть список реквизитов?
- jQuery attr vs prop?
- Перенос jQuery 1.8.3 на 1.9.0 — замена устаревшего .attr()
- ... и т.д. ...
существует много путаницы по поводу "использовать attr или использовать prop?", и, с моей точки зрения (разработчика), для всех применений метода attr()
вместо него можно использовать prop
:
- обратная совместимость: для написания нового программного обеспечения это не требуется;
- производительность: Джон говорит "Доступ к свойствам через Метод .attr() будет немного медленнее, чем доступ к ним напрямую через .prop()";
- Изменить значение атрибута: все можно изменить методом
prop(name,newvalue)
. - Удалить атрибут: все можно удалить методом
removeProp(name)
. - Проверить значения атрибутов HTML: браузер использует DOM, весь HTML был преобразован в DOM, и, если DOM влияет на метод
attr(name)
, это также влияет. О «сильном типе» реквизита: это лучше, чем «значение строки html» (например, «проверено» против true). - Проверить, был ли атрибут определен в "исходном HTML-коде" (предположим, что метод
attr
в вашем браузере возвращает undefined, если это не так)... Что ж, нам нужно это в каком-то софте? В формах рекомендуемым методом jQuery является ".val() способ получить или установить значения формы" - Консистентность между браузерами: оба метода (не только attr) являются согласованными. (это??).
Итак, в настоящее время (2013 г.) я не вижу веской причины использовать метод attr
при разработке нового кода jQuery... Но, другими словами, вот в чем вопрос: Есть веская причина для использовать метод attr
в повседневных задачах?
attr
иprop
наиболее частого использования DOM?, или Что является наиболее частым использованием DOM?.. , И, извините, возможно, из-за моего экспресс-менее или плохого английского: только я разместил здесь прямой ответ для такого рода позиции< /а>. Большинство других ответов являются копиями этих - person Peter Krauss   schedule 31.10.2014