我最近遇到了確定瀏覽器支持某些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