私はいつもこれをやろうとしていますが、うまくいき$("input[name=button]").attr("disabled", '');
ません。これが機能しないのはなぜですか?
私はこれを使用することになった$("input[name=button]").attr("disabled", false);
。私には、どちらも同等のように思えます。
私はいつもこれをやろうとしていますが、うまくいき$("input[name=button]").attr("disabled", '');
ません。これが機能しないのはなぜですか?
私はこれを使用することになった$("input[name=button]").attr("disabled", false);
。私には、どちらも同等のように思えます。
これが機能しないのはなぜですか?
disabled
いわゆるブール属性です:
多くの属性はブール属性です。要素にブール属性が存在する場合は真の値を表し、属性が存在しない場合は偽の値を表します。
属性が存在する場合、その値は空の文字列か、大文字と小文字を区別せずに属性の正規名に一致し、先頭または末尾に空白がない値である必要があります。
そのため、空の値は引き続き属性の存在を示しているため、フォーム要素は無効のままです。
私には、どちらも同等のように思えます。
ではない。jQuery はブール属性を異なる方法で扱います。新しい値の値をテストし、値が次の場合は属性を削除します。false
set: function( elem, value, name ) {
var propName;
if ( value === false ) {
// Remove boolean attributes when set to false
jQuery.removeAttr( elem, name );
} else {
// ...
}
return name;
}
removeAttr()
属性を削除するために使用できます
を削除するdisabled
には、これを試してください、
$("input[name=button]").removeAttr("disabled");
disabled
はプロパティであり、prop
メソッドの代わりにattr
メソッドを使用する必要があります。
$("input[name=button]").prop("disabled", false);
この
.prop()
メソッドは、プロパティの値を設定する便利な方法です。特に、複数のプロパティを設定する場合、関数によって返される値を使用する場合、または一度に複数の要素に値を設定する場合に便利です。selectedIndex、tagName、nodeName、nodeType、ownerDocument、defaultChecked、または defaultSelected を設定するときに使用する必要があります。jQuery 1.6 以降、これらのプロパティはメソッドで設定できなくなりました.attr()
。それらには対応する属性がなく、単なるプロパティです。