<selectedcontent>: 選定選項顯示元素

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

<selectedcontent> HTML 元素用於在 <select> 元素內顯示其當前選定的 <option> 元素的內容,該內容將顯示在其第一個子 <button> 元素中。這使您能夠自定義 <select> 元素的全部部分,也稱為“可自定義的 selects”。

屬性

此元素包含全域性屬性

描述

您將 <selectedcontent> 元素用作 <button> 元素的唯一子元素,而該 <button> 元素必須是 <select> 元素的第一個子元素。任何 <option> 元素(<select> 的其他唯一有效子元素)必須出現在 <button> 和巢狀的 <selectedcontent> 對之後。

html
<select>
  <button>
    <selectedcontent></selectedcontent>
  </button>
  <option></option>
  ...
</select>

<selectedcontent> 的後臺工作原理

<selectedcontent> 元素包含當前選定 <option> 元素內容的一個克隆。瀏覽器使用 cloneNode() 來渲染此克隆。當選定的 <option> 更改時(例如,在 change 事件期間),<selectedcontent> 的內容將被新選定 <option> 的克隆替換。瞭解此行為很重要,尤其是在處理動態內容時。

警告:由於瀏覽器僅在選定的 <option> 更改時才更新 <selectedcontent>,因此在 <select> 渲染後對選定 <option> 內容進行的任何動態修改都不會克隆到 <selectedcontent>。您需要手動更新 <selectedcontent>。如果您使用的流行前端 JavaScript 框架會在初始渲染後動態更新 <option> 元素,請注意——結果可能與您在 <selectedcontent> 中期望的不符。

<selectedcontent> 的惰性

預設情況下,<select> 元素中的任何 <button> 都處於 惰性 (inert) 狀態。因此,該按鈕內的所有內容(包括 <selectedcontent>)也處於惰性狀態。這意味著使用者無法與 <selectedcontent> 內的內容進行互動或聚焦。

使用 CSS 為選定選項的內容設定樣式

您可以定位當前選定的 <option> 元素的內容,並設定其在 select 按鈕中顯示的方式。設定按鈕的樣式不會影響克隆的 <option> 內容的樣式。這允許您自定義選定選項在按鈕中的外觀,而與它們在下拉列表中的外觀分開。

例如,您的 <option> 元素可能包含圖示、影像甚至影片,它們在下拉列表中可以很好地渲染,但可能導致 select <button> 變大、看起來雜亂並影響周圍的佈局。透過定位 <selectedcontent> 中的內容,您可以隱藏按鈕中的元素(如影像),而不會影響它們在下拉列表中的顯示方式,如下面的程式碼片段所示:

css
selectedcontent img {
  display: none;
}

注意:如果 <button> 和/或 <selectedcontent> 元素未包含在 <select> 中,瀏覽器會建立一個隱式的 <button> 來顯示選定 <option> 的內容。此回退按鈕無法使用 buttonselectedcontent 型別選擇器透過 CSS 進行定位。

示例

您可以在我們的 可自定義 select 元素指南中找到包含 <selectedcontent> 元素的完整示例。

技術摘要

內容類別 None
允許內容 映象選定 <option> 元素的內容。
標籤省略 無,起始標籤和結束標籤都必須存在。
允許父級 一個 <button> 元素,它是 <select> 元素的第一個子元素。
隱式 ARIA 角色 None
允許的 ARIA 角色 None
DOM 介面 HTMLSelectedContentElement

規範

規範
HTML
# the-selectedcontent-element

瀏覽器相容性

另見