选择选项当前值存储在哪里?

ROM*_*eer 1 html javascript dom html-select

一个<select>元素看起来像这样:

<select id="ok">
    <option value="one">First</option>
    <option value="two" selected>Second</option>
</select>
Run Code Online (Sandbox Code Playgroud)

最初,Second显示文本值,因为该selected属性存在。

如果我手动更改它(使用鼠标单击),它会在 UI 中显示新选择的值,但<select>在 HTML 中保持不变:

<select id="ok">
    <option value="one">First</option>
    <option value="two" selected>Second</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我可以获得当前的选择值:

document.getElementById('ok').value
Run Code Online (Sandbox Code Playgroud)

或当前选定的索引:

document.getElementById('ok').selectedIndex
Run Code Online (Sandbox Code Playgroud)

通过 JavaScript(或 jQuery),但我不知道这些值来自哪里。

它们存储在 DOM 中还是其他地方?
JavaScript 如何知道 UI 中的当前值是哪个?

div*_*ine 5

它存储在 DOM 中吗?

是的,它存储在 DOM 中。

每当检测到更改事件时,DOM 就会更新,并且更新后的值会存储在对象中value

当您使用时,document.getElementById("ok").value您可以访问 JavaScript 中的最新选择。

您可以检查一下:

火狐检查器视图

  1. 显示 DOM 属性

    Firefox - 显示 DOM 属性

  2. 过滤value

    过滤值属性

Chrome 开发工具

  1. 选择元素 > 属性

    Chrome - 属性

  2. 展开select并使用垂直滚动转到value

    铬 - 值