Да, attr предназначен для атрибутов html, поскольку они строго определены. prop - для свойств.
Итак, скажем, у вас есть элемент elem с классом «something» (raw element not jQuery object). Элемент elem.className является свойством, но здесь находится атрибут. Изменение атрибута класса также автоматически изменяет свойство и наоборот.
В настоящее время attr запутан и запутан, потому что он попытался выполнить работу обеих функций, и из-за этого есть много ошибок. Введение jQuery.fn.prop позволит решить несколько блокаторов, отдельный код, поскольку он должен был быть отделен от начала, и дать разработчикам более быстрые функции делать то, что они ожидают от них.
Позвольте мне составить процент в секунду и сказать, что из моего опыта поддержки IRC и чтения другого кода 95% вариантов использования attr не придется переключаться на опору.
See More
http://stackoverflow.com/questions/5874652/prop-vs-attr – Satpal
@Satpal Связанный вопрос задает различия между функциями JQuery в то время как этот вопрос спрашивает, в чем разница между свойствами и атрибутами в HTML. – Trisped