“選択した”に表示できる値“オプションの属性”タグ?

StackOverflow https://stackoverflow.com/questions/1033944

  •  06-07-2019
  •  | 
  •  

質問

次のようなマークアップがあります:

<select>
  <option selected="selected">Apple</option>
  <option selected="">Orange</option>
</select>

この場合、「オレンジ」選択したアイテムとして表示されます。 selected 属性を空白にすると、その効果が元に戻ります。属性を単に除外せずにこれを記述する方法はありますか?

役に立ちましたか?

解決

異なるブラウザは、この属性を異なる方法で処理します。 MSDNドキュメント(Internet Explorer用)によると:

  

HTMLでアイテムを選択するには、そうではありません   の値を設定するために必要   SELECTED属性をtrueに。単なる   SELECTED属性セットの存在   その値はtrueです。

firefoxおよびSafariでは、これは機能します:

<option selected='false' />

HTML4の公式WC3標準を見ればわかることから、サポートされるケースは次のとおりです。

<option selected='selected' />

選択的に属性を発行するか、JavaScriptを使用して最初に選択されるアイテムを制御する必要があります。

他のヒント

HTML5仕様

https://www.w3.org /TR/html51/sec-forms.html#the-option-element

  

選択されたコンテンツ属性はブール属性です。

http://www.w3.org/TR/html5 /infrastructure.html#boolean-attributes

  

要素上のブール属性の存在は真の値を表し、属性の不在は偽の値を表します。

     

属性が存在する場合、その値は、空の文字列、または属性の正規名と大文字と小文字を区別しないASCII一致で、先頭または末尾に空白がない値でなければなりません。

結論

以下は、有効、同等、真です:

<option selected />
<option selected="" />
<option selected="selected" />
<option selected="SeLeCtEd" />

以下は無効です

<option selected="0" />
<option selected="1" />
<option selected="false" />
<option selected="true" />

false の唯一の有効な構文は、属性がないことです:

<option />

推奨事項

有効なXHTMLの作成を気にする場合は、 selected = quot; selected&quot; を使用します。これは、&lt; option selected&gt; が無効であり、他の選択肢は読みにくいためです。それ以外の場合は、短い&lt; option selected&gt; を使用します。

XHTMLで選択した属性に許可される値は、「選択」のみですしたがって、マークアップをXHTMLに準拠させ、すべてのブラウザーで機能させるには、マークアップを選択しないようにするのが唯一の選択肢です

いいえ、選択された属性の存在は、それが選択されたアイテムであることをブラウザに伝えます。引用符内のすべては無視されます。

編集:(Javascriptを使用して)できることは、selected =&quot;&quot;を含むオプションタグを探し、選択した属性を削除することです。

HTMLでは(XHTMLとは対照的に)値がまったくない単純な selected 属性は正常に機能します。

<option selected>Apple</option>
<option>Orange</option>

XHTML(XHTML5を含む)では、値が必要です。この値も selected にする必要があります:

<option selected="selected">Apple</option>
<option>Orange</option>

これはHTMLでも正常に機能します。

これは通常、(X)HTMLのブール値の場合です。それらをfalseに設定する方法は、それらを完全に省略することです。 true および false の値を設定することは可能ですが、標準ではありません。

オプションのリストでは、最初のオプションがデフォルトで選択されているため、この場合、これはまったく必要ないことに注意してください。

w3schools によれば、次のように設定する必要があります:selected =&quot;選択済み」。これにより、最初に選択されたオプションがわかり、後でスクリプトを使用して設定できます。

「選択」以外の有効な値はありません。その属性のため。 ( http://www.w3schools.com/TAGS/att_option_selected.asp

JavaScriptからselectElement.selectedIndexプロパティを設定するか、属性を完全に削除することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top