14

jqueryを使用すると、.attr()メソッドを使用して属性を変更できることを理解しています。基本的に2つの方法があります。

$('#element').attr('attribute', 'value') // sets the attribute
var attribute = $('#element').attr('attribute') // gets the attribute

私の質問は、チェックボックスの「チェック済み」や選択タグの「複数」などのブール属性をどのように設定するかです。

私は成功せずに次のことを試みました:

$('#element').attr('attribute', true)
$('#element').attr('attribute', '')

これらはすべて属性を追加しますが、通常はこのようになります<tag attribute="attribute">

4

3 に答える 3

21

などのサポートされている属性のためにそれ.propを処理するために使用してみてくださいbooleanselected/disabled/checked

$('#element').prop('attribute', true);

jQueryドキュメントから(例)

elem.checked戻り値true(ブール値)チェックボックスの状態によって変化します

$(elem).prop("checked")戻り値true(ブール値)チェックボックスの状態によって変化します

elem.getAttribute("checked")戻り値"checked"(文字列)チェックボックスの初期状態。変わらない

$(elem).attr("checked")(1.6)戻り値"checked"(文字列)チェックボックスの初期状態。変わらない

$(elem).attr("checked")(1.6.1+)戻り値"checked"(文字列)チェックボックスの状態によって変化します

$(elem).attr("checked")(pre-1.6)戻り値true(ブール値)チェックボックスの状態で変更

于 2012-10-17T18:19:11.140 に答える
0

HTML属性は常に文字列値です。本当に文字列以外のものを設定したい場合は、jQuery.data()の使用を検討してください。

于 2012-10-17T18:20:17.560 に答える
0

私はjQueryでこのメソッドを使用します

jQuery('option').attr("selected", "");

またはJavaScriptの場合:

document.querySelector("option").setAttribute("selected", "");

ブール属性を設定するには、空の文字列を渡す必要があります。

于 2019-12-03T12:19:27.987 に答える