Отличие методов attr и prop при работе с HTML-элементами заключается в том, что attr читает или устанавливает значение атрибута элемента, а prop — свойство объекта, представляющего элемент. 1
Метод attr предназначен для работы с атрибутами HTML-элемента, которые могут иметь произвольные строковые значения (alt, title, src, href и т. д.). 2 Метод prop используется для работы с свойствами JavaScript-объекта, которым является HTML-элемент. 5 Например, если значение элемента может быть изменено пользователем (радио-кнопки, флажки, прочие изменяемые поля ввода), то метод prop позволяет получить актуальное значение (свойства checked, selected, disabled и так далее). 4
Таким образом, attr работает с атрибутами элемента, а prop — со свойствами объекта, представляющего элемент. 1