クエリでは、入力要素をクリックして最初に無効にし、次に入力要素を有効にします。リンク。ただし、コードは「disabled」属性を削除できません。
jQuery の要素を効果的に無効または有効にするには、常にprop()メソッド。 prop() はプロパティを処理するのに対し、attr()/removeAttr() は属性を処理するため、この区別は重要です。
特定のインスタンスでは、正しいコードは次のようになります。
$("#edit").click(function(event){ event.preventDefault(); $('.inputDisabled').prop("disabled", false); // Elements are now enabled. });
この jsFiddle で動作中のコードを更新しました: [jsFiddle へのリンク]
while attr() /removeAttr() は技術的に要素を有効/無効にできますが、矛盾が生じる可能性があるためお勧めできません。 Prop() はプロパティ値を明示的に管理し、より信頼性の高い動作を提供します。
jQuery 3.0 以前 (2016 年より前)
removeAttr() は、disabled 属性を完全に削除し、プロパティを false に設定します。逆に、prop() はプロパティのブール値のみを変更しました。
jQuery 3.0 以降
prop() は、removeAttr() が設定しなくなったため、引き続き推奨されるアプローチです。対応するプロパティを false に設定します。この区別は、属性 (初期値) とプロパティ (現在の値) を区別する最新のブラウザーにとって不可欠です。
以上がprop() を使用して jQuery で入力要素を正しく有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。