jQuery .prop ('checked') не меняет фактический проверенный атрибут в HTML


Мой вопрос (ы) был бы : Это обычное поведение? Должен ли я просто игнорировать несоответствие? Что я не получу здесь?

Спасибо за ваше время + усилие!

12
1 принят

Это совершенно нормально. Атрибут, который вы видите в источнике, является исходным состоянием элемента. Основное свойство - то, что получает / устанавливает - может быть другим.var $cb = $(':checkbox'); console.log('attr: ' + $cb.attr('checked'), 'prop: ' + $cb.prop('checked')); $cb.prop('checked', false); console.log('attr: ' + $cb.attr('checked'), 'prop: ' + $cb.prop('checked'));

Вот пример:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" value="1" checked="checked" />
prop('checked', false)

Обратите внимание, что даже после установки attr()по- checkedпрежнему считывается checkedатрибут, который присутствовал при загрузке страницы.

Именно по этой причине вы всегда должны использовать, prop()где это возможно.

JavaScript, PHP, JQuery, HTML, формы,

javascript,php,jquery,html,forms,

2

Ответов: 1


Мой вопрос (ы) был бы : Это обычное поведение? Должен ли я просто игнорировать несоответствие? Что я не получу здесь?

Спасибо за ваше время + усилие!

12
1 принят

Это совершенно нормально. Атрибут, который вы видите в источнике, является исходным состоянием элемента. Основное свойство - то, что получает / устанавливает - может быть другим.var $cb = $(':checkbox'); console.log('attr: ' + $cb.attr('checked'), 'prop: ' + $cb.prop('checked')); $cb.prop('checked', false); console.log('attr: ' + $cb.attr('checked'), 'prop: ' + $cb.prop('checked'));

Вот пример:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" value="1" checked="checked" />
prop('checked', false)

Обратите внимание, что даже после установки attr()по- checkedпрежнему считывается checkedатрибут, который присутствовал при загрузке страницы.

Именно по этой причине вы всегда должны использовать, prop()где это возможно.

JavaScript, PHP, JQuery, HTML, формы,
Похожие вопросы