列表add添加元素
问题选择对象的add方法不会将选项附加到列表的末尾。
浏览器IE浏览器
例用于在选择下拉列表的末尾附加一个option元素的Javascript代码:
var opt = document.createElement("option");
opt.name = "optName";
opt.value = "optValue";
var selObj = document.getElementById("seltest");
selObj.add(opt,null);
解
IE不支持W3C add方法,因此我们必须使用try / catch来使用其专有方法:
var opt = document.createElement("option");
opt.name = "optName";
opt.value = "optValue";
var selObj = document.getElementById("seltest");
try {
selObj.add(opt,null);
} catch (e) {
selObj.add(opt); // for IE only
}
-------------------------------------------------- -------------------------------------------------- - 问题
选择对象的添加方法不会在列表中添加选项。 这类似于先前的问题(附加到列表的末尾),但解决方案略有不同。
浏览器IE浏览器
例用于将option元素添加到select下拉列表的Javascript代码:
var opt = document.createElement("option");
opt.name = "optName";
opt.value = "optValue";
var selObj = document.getElementById("seltest");
// let's say we want to add before the currently selected option
var optToAddBefore = selObj.options[selObj.selectedIndex];
selObj.add(opt,optToAddBefore);
解
IE不支持W3C add方法,因此我们必须使用try / catch来使用其专有方法。 对于第二个参数,我们必须传递选定的索引,而不是option元素:
var opt = document.createElement("option");
opt.name = "optName";
opt.value = "optValue";
var selObj = document.getElementById("seltest");
// let's say we want to add before the currently selected option
var optToAddBefore = selObj.options[selObj.selectedIndex];
try {
selObj.add(opt,optToAddBefore);
} catch (e) {
selObj.add(opt,selObj.selectedIndex); // for IE only
}
更多错误,怪癖和不一致之处
列表add添加元素
探讨了在IE浏览器中,使用JavaScript为Select下拉列表添加Option元素时遇到的问题及解决策略。包括如何在列表末尾添加选项以及如何在特定位置插入选项。
230

被折叠的 条评论
为什么被折叠?



