在Javascript中,动态创建DOM选项元素的首选方法是什么? 我发现实际代码中同时使用了Option构造函数和createElement变体,例如:
var option = new Option(text, value);
和这个:
var option = document.createElement('option');
option.text = text;
option.value = value;
这些方法中是否存在任何缺点/兼容性问题?此外,还有没有其他动态创建选项的方法,由于某些原因应优先考虑使用?
这些方法是否存在任何缺点/兼容性问题?还有其他的方法可以动态创建选项,是否更适合一些特定情况?
var option = new Option();
将导致option
成为Option
对象的实例,且option instanceof Option
为true
,而使用var option = document.createElement('option');
将导致option
成为字面量而不是Option
对象的实例,因此option instanceof Option
为false
;尽管两者都是从相同的constructor
创建的,且option.constructor
为function HTMLOptionElement()
。 - Nopedocument.createElement("option") instanceof Option
返回true,与你所说的相反。你会期望这样,因为无论对象是如何创建的,它都是同一种DOM对象的实例。 - Doin