1

IE8 がオブジェクトの拡張をサポートしていることを理解していElementます。簡単な例を試してみましたが、Google Chrome では動作しますが、IE8 では動作しません。ここに私のコードがあり、ここに私のコードを見るためのjsfiddleがあります:

HTML

<div id='test'>Hi</div>

JavaScript

Element.prototype.test = function(){
  alert('yup');
}

document.getElementById('test').test();

エラー

//jsfiddle.net => Object doesn't support property or method 'test'
//local test => 'Element' is undefined

私は何を間違っていますか?


アップデート

ローカル エラーに関しては、IE8 が私の<!DOCTYPE>タグを気に入らなかったようです。というわけで、もう一つ見つけました。=p IE8 はそのようなことに非常に厳格です。要素が有効な HTML でない場合、IE8 はdocument.getElementsByTagName().

4

1 に答える 1

1

MooTools はベースラインを上書きしますElement

チェックアウト

var e = document.getElementById('test');
console.log(e instanceof Element);

MooTools がある場合は false を返し、MooTools 以外の場合は true を返す必要があります。

于 2012-11-09T22:00:59.670 に答える