IE не имеет установленного "Элемента", поэтому вы не можете получить доступ к прототипу Элемента, чтобы напрямую добавить вашу функцию. Обходной путь должен перегрузить «createElement» и «getElementById», чтобы они возвращали элемент с измененным прототипом с вашей функцией.
Спасибо Саймону Уайттанделе за решение!
if ( !window.Element )
{
Element = function(){}
Element.prototype.yourFunction = function() {
alert("yourFunction");
}
var __createElement = document.createElement;
document.createElement = function(tagName)
{
var element = __createElement(tagName);
for(var key in Element.prototype)
element[key] = Element.prototype[key];
return element;
}
var __getElementById = document.getElementById
document.getElementById = function(id)
{
var element = __getElementById(id);
for(var key in Element.prototype)
element[key] = Element.prototype[key];
return element;
}
}