我最近遇到了确定浏览器支持某些DOM功能的问题。其中之一是Element.children功能,这仍然让我头痛。我在我的下面这行代码:Javascript - 确定对Element.children功能的支持
VAR NATIVE_CHILDREN = Element.prototype.hasOwnProperty( '孩子');
它应该检查浏览器是否支持Element.children -FEATURE [https://developer.mozilla.org/en/DOM/Element.children]。根据MDN和快速测试,所有主流浏览器均支持此功能。
在Firefox上的Firebug上,NATIVE_CHILDREN的值预计为true。令人惊讶的是,在Chrome,Safari和Opera上,这个值是错误的(不幸的是,我没有用Windows机器来检查IE对它的看法)。
根据DOM4 - 免费编辑草案2012年4月5日 [http://dom.spec.whatwg.org/#element],孩子应该是Element对象原型的一部分。显而易见的Chrome,Safari和Opera的Element对象不包含这种方法!我试过检查HTMLCollection和Node的原型(我也测试过HTMLParagraphElement和HTMLBodyElement),但它们都没有包含名为'children'的方法(除了在Firefox上)。我怎样才能使我的测试工作跨浏览器?我不想为此使用任何外部库,因为这是为我自己的小图书馆。
非常感谢大家帮助我!我不知道原型的问题。感谢您指出检查对这个属性的支持实际上是相当愚蠢的= P – undefined