10

プロパティを追加および削除する次のコードが機能しますreadonly(ここから取得)。

$('#someid').prop('readonly', true);
$('#someid').removeProp('readonly');

ただし、W3C 標準では、値なしで readonly 属性を使用することを推奨しています (ここから取得)。

以下を使用する必要があります。<input type="text" readonly />

その代わり:<input type="text" readonly="true or readonly or anything" />

うまくいき$('#someid').prop('readonly');ません。それを正しく行うためのコードは何ですか?

4

1 に答える 1

28

それを行う適切な方法は次のとおりです。

$('#someid').prop('readonly', true);

また

$('#someid').prop('readonly', false);

$('#someid').removeProp('readonly');

これらはすべてネイティブの jQuery メソッドであるため、正常に動作します。

document.getElementById('someid').readOnly = true;

これにより、プロパティが適切に設定readonlyされます。コンソールで要素を調べるとreadonly、W3C 仕様に準拠する必要があるように、属性が値なしで追加されていることがわかります。

readonly プロパティであり、プロパティprop()を設定するメソッドです。

HTML5 の仕様には次のように書かれています。

readonly = "readonly" または "" (空の文字列) または空
値が編集されることを意図していないコントロールを要素が表すことを指定します。

これは、以下が有効であることを意味します。

<input type="text" readonly />
<input type="text" readonly="" />
<input type="text" readonly="readonly" />
于 2013-09-09T01:49:14.907 に答える