select 选项当前值存储在哪里?
Where is the select option current value stored?
一个 <select>
元素看起来像这样:
<select id="ok">
<option value="one">First</option>
<option value="two" selected>Second</option>
</select>
最初,显示 Second
文本值,因为存在 selected
属性。
如果我手动更改它(使用鼠标单击),它会在 UI 中显示新选择的值,但 HTML 中的 <select>
保持不变:
<select id="ok">
<option value="one">First</option>
<option value="two" selected>Second</option>
</select>
我可以得到当前的select值:
document.getElementById('ok').value
或当前 selected 索引:
document.getElementById('ok').selectedIndex
通过JavaScript(或jQuery),但我不知道这些值是从哪里来的。
它们是存储在 DOM 还是其他地方?
JavaScript 如何知道 UI 中的当前值是什么?
Is it stored in DOM?
是的,它存储在DOM。
每当检测到更改事件时,DOM 就会更新,更新后的值将存储在 value
对象中。
当您使用 document.getElementById("ok").value
时,您可以访问 JavaScript 中的最新选择。
您可以在以下位置查看:
Firefox 检查器视图
显示DOM属性
过滤 value
:
Chrome 开发工具
Select 元素 > 属性
展开 select
并使用垂直滚动转到 value
:
一个 <select>
元素看起来像这样:
<select id="ok">
<option value="one">First</option>
<option value="two" selected>Second</option>
</select>
最初,显示 Second
文本值,因为存在 selected
属性。
如果我手动更改它(使用鼠标单击),它会在 UI 中显示新选择的值,但 HTML 中的 <select>
保持不变:
<select id="ok">
<option value="one">First</option>
<option value="two" selected>Second</option>
</select>
我可以得到当前的select值:
document.getElementById('ok').value
或当前 selected 索引:
document.getElementById('ok').selectedIndex
通过JavaScript(或jQuery),但我不知道这些值是从哪里来的。
它们是存储在 DOM 还是其他地方?
JavaScript 如何知道 UI 中的当前值是什么?
Is it stored in DOM?
是的,它存储在DOM。
每当检测到更改事件时,DOM 就会更新,更新后的值将存储在 value
对象中。
当您使用 document.getElementById("ok").value
时,您可以访问 JavaScript 中的最新选择。
您可以在以下位置查看:
Firefox 检查器视图
显示DOM属性
过滤
value
:
Chrome 开发工具
Select 元素 > 属性
展开
select
并使用垂直滚动转到value
: