--- title: HTMLSelectElement.add() slug: Web/API/HTMLSelectElement/add tags: - API - HTML DOM - HTMLSelectElement - 参考 - 方法 translation_of: Web/API/HTMLSelectElement/add ---
{{APIRef("HTML DOM")}}
HTMLSelectElement.add() 方法用于向 select 元素的 option 元素集合中添加一个元素。
collection.add(item[, before]);
null(或索引不存在),新元素会添加在集合的末尾。{{domxref("HTMLSelectElement")}} 的祖先元素,HierarchyRequestError 类型的 {{domxref("DOMError")}} 会被抛出。var sel = document.createElement("select");
var opt1 = document.createElement("option");
var opt2 = document.createElement("option");
opt1.value = "1";
opt1.text = "Option: Value 1";
opt2.value = "2";
opt2.text = "Option: Value 2";
sel.add(opt1, null);
sel.add(opt2, null);
/*
概念上与下述代码相同:
<select>
<option value="1">Option: Value 1</option>
<option value="2">Option: Value 2</option>
</select>
*/
before 参数是可选的,因此也可以这样写:
... sel.add(opt1); sel.add(opt2); ...
var sel = document.getElementById("existingList");
var opt = document.createElement("option");
opt.value = "3";
opt.text = "Option: Value 3";
sel.add(opt, null);
/*
获取这个已存在的 select 对象:
<select id="existingList">
<option value="1">Option: Value 1</option>
<option value="2">Option: Value 2</option>
</select>
将其变成这样:
<select id="existingList">
<option value="1">Option: Value 1</option>
<option value="2">Option: Value 2</option>
<option value="3">Option: Value 3</option>
</select>
*/
同样,before 参数是可选的,因此也可以这样写:
... sel.add(opt); ...
var sel = document.getElementById("existingList");
var opt = document.createElement("option");
opt.value = "3";
opt.text = "Option: Value 3";
sel.add(opt, sel.options[1]);
/*
获取这个已存在的 select 对象:
<select id="existingList">
<option value="1">Option: Value 1</option>
<option value="2">Option: Value 2</option>
</select>
将其变成这样:
<select id="existingList">
<option value="1">Option: Value 1</option>
<option value="3">Option: Value 3</option>
<option value="2">Option: Value 2</option>
</select>
*/
| 规范 | 状态 | 注释 |
|---|---|---|
| {{SpecName('HTML WHATWG', '#dom-select-add', 'HTMLSelectElement.add()')}} | {{Spec2('HTML WHATWG')}} | |
| {{SpecName('HTML5 W3C', 'forms.html#dom-select-add', 'HTMLSelectElement.add()')}} | {{Spec2('HTML5 W3C')}} | {{SpecName("HTML WHATWG")}} 的一个快照(snapshot)。before 的值为 long 类型,且可选。如果传入的 item 是 {{domxref("HTMLSelectElement")}} 的祖先元素,HierarchyRequestError 类型的 {{domxref("DOMError")}} 会被抛出。不传入 before 参数时不再抛出异常。 |
| {{SpecName('DOM2 HTML', 'html.html#ID-14493106', 'HTMLSelectElement.add()')}} | {{Spec2('DOM2 HTML')}} | 如果 before 参数不是这个元素的子代,会抛出 NOT_FOUND_ERR 异常。 |
| {{SpecName('DOM1', 'level-one-html.html#ID-14493106', 'HTMLSelectElement.add()')}} | {{Spec2('DOM1')}} | 初始定义。 |
{{Compat("api.HTMLSelectElement.add")}}