MDN:

这对我来说还不清楚。 defaultSelected确定是否“这将是选定的默认值”,但是一句话之后它说“如果尚未选择,则值为true不会将选项设置为selected”。所以...它没有将其设置为选中状态吗?仅在已选择它的情况下才将其设置为选择吗?selected声称还可以设置选定状态。如果省略,则不管defaultSelected为何,都不会选择该选项。所以... defaultSelected什么都不做?
这里发生了什么?

最佳答案

defaultSelected属性表示元素的初始(默认)选择状态,并与选定的HTML属性相对应。 selected属性表示当前选择状态,这是用户在浏览器中实际看到的选择状态。

当用户选择一个选项时,仅selected属性被更改,而该属性和defaultSelected属性保持不变(尽管它们仍可以通过编程方式进行更改)。例如,您可以使用它来将某些设置重置为默认设置。

所以我会说您通常会使用

 new Option(text, value, true, true)

或者
new Option(text, value, false, false)

为第3个和第4个参数设置不同的值意味着您将创建一个选项,该选项是默认值,但当前未选择,反之亦然。

我发现文档也相当困惑,但是我想那



意味着-如果将defaultSelected设置为true,并不意味着实际上会选择该选项,而只是将该选项设置为默认的选定值。要选择它,您还必须设置selected属性。

另外,当您在HTML中添加selected属性时,相应的DOM元素会将defaultSelectedselected属性都设置为true,因此初始选择值和当前选择值都相同。

这是一个有关DOM元素的属性和属性的相关问题的有用答案:https://stackoverflow.com/a/6004028/1630480

10-06 15:06