Метод .prop() позволяет получить и изменить свойство элемента.

См. также метод attr, который позволяет работать с атрибутами элементов.

См. также урок манипулирование элементами страницы через jQuery для более полного понимания.

Синтаксис

Проверка наличия свойства:

$(селектор).attr(имя свойства)

Изменение значения свойства:

$(селектор).attr(имя свойства, true или false)

Изменение значений нескольких атрибутов:

$(селектор).attr({первый_атрибут:новое_значение, второй_атрибут:новое_значение, ...})

Дополнительно

Начиная с jQuery1.1 метод attr может применить заданную функцию к каждому элементу в наборе.

При этом первым параметром функция получит номер элемента в наборе, а вторым параметром - текущее значение атрибута:

$(селектор).attr(имя атрибута, function(номер в наборе, текущее значение атрибута))

Имена переменных в функции могут быть любыми.

К примеру, если для первого параметра 'номер в наборе' мы дадим имя index - тогда внутри нашей функции будет доступна переменная index, в которой будет лежать номер в наборе для того элемента, который функция обрабатывает в данный момент времени.

Аналогично, если для второго параметра 'текущее значение атрибута' дать, к примеру, имя value - тогда внутри нашей функции будет доступна переменная value, в которой будет лежать значение атрибута того элемента, который функция обрабатывает в данный момент времени:

$(селектор).attr(имя атрибута, function(index, value){
	//тут доступны переменные index и value
})

Значение атрибута каждого элемента поменяется на то, который вернет функция конкретно для этого элемента.

Изменения в jQuery1.6

Первое

Начиная с версии jQuery1.6, при попытке получить значение атрибута, которым элемент не обладает, метод attr вернет undefined.

В более ранних версиях, вместо этого возвращалась пустая строка.

Второе

Начиная с версии jQuery1.6 разделены способы работы с атрибутами и свойствами - теперь для свойств следует использовать prop.

Свойства - это атрибуты типа checked и disabled.

Посмотрите разницу на примере атрибута disabled:

<input type="text" disabled>
elem.disabled //true
$(elem).prop('disabled') //true
elem.getAttribute('disabled') //пустая строка
$(elem).attr('disabled') //пустая строка для jQuery1.6+ и true для более ранних версий