为什么在IE6/7中未定义NodeList?
<form action="/" method="post" id="testform">
<input type="checkbox" name="foobar[]" value="1" id="" />
<input type="checkbox" name="foobar[]" value="2" id="" />
<input type="checkbox" name="foobar[]" value="3" id="" />
</form>
<script type="text/javascript" charset="utf-8">
(function () {
var el = document.getElementById('testform')['foobar[]']
if (el instanceof NodeList) {
alert("I'm a NodeList");
}
})();
</script>
这在FF3/Safari 3.1中有效,但在IE6/7中无效。任何人都有任何想法如何检查el是否是所有浏览器中的NodeList的实例?
最佳答案
“Duck Typing”应始终有效:
...
if (typeof el.length == 'number'
&& typeof el.item == 'function'
&& typeof el.nextNode == 'function'
&& typeof el.reset == 'function')
{
alert("I'm a NodeList");
}
关于javascript - 如何检查对象是否是IE中NodeList的实例?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/151348/