Нативный document.createElement()
глупо-глупый (требуется только имя тега и никаких атрибутов). Почему я не могу его переопределить? Почему это не работает?
var originalFunction = document.createElement;
document.createElement = function(tag, attributes) {
var element = originalFunction(tag);
if (attributes) {
for (var attribute in attributes) {
element.setAttribute(attribute, attributes[attribute]);
}
}
return element;
};
Проблема заключается в том, что браузеры взрываются, когда вы пытаетесь заменить собственную функцию. Поскольку document
не является примитивом JavaScript, вы также не можете создать прототип для него. WTF.