sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | http://1 |
extra_vars4 | ko |
extra_vars5 | http://arstechnica.com/civis/viewtopic.php?f=20&t=185317 |
extra_vars6 | sitelink1 |
Question
Object.prototype.removeNodes = function() { var node = this; while (this.lastChild) node.removeChild(this.lastChild); }The purpose of this prototype is to remove all children from an element. It works fine in Gecko, WebKit/KHTML, and Opera. But not IE.
IE does not support prototype extensions of HTML elements.
So you have to fake it instead with something like...
http://www.geekdaily.net/2007/06/18/javascript-htmlelement-in-ie/
or
http://delete.me.uk/2004/09/ieproto.html
or maybe
http://www.browserland.org/scripts/htmlelement/
결론은
Element = function () {};
Element.prototype.getAttribute = function (attribute) {
if (attribute == "class") attribute = "className";
if (attribute == "for") attribute = "htmlFor";
return this[attribute];
}
Element.prototype.setAttribute = function (attribute, value) {
if (attribute == "class") attribute = "className";
if (attribute == "for") attribute = "htmlFor";
this[attribute] = value;
}
------------------------------------------------------------------------------------
createElement 재정의 방법1
var __IEcreateElement = document.createElement;
document.createElement = function (tagName) {
var element = __IEcreateElement(tagName);
var interface = new Element;
for (method in interface)
element[method] = interface[method];
return element;
}
------------------------------------------------------------------------------------
createElement 재정의 방법2
document.createElement = (function(fn){
return function(tagName){
var elem = fn.call(document, tagName);
elem.$ = function(){
alert(arguments[0])
}
return elem;
};
})(document.createElement);
------------------------------------------------------------------------------------
createElement 재정의 방법3 (추천)
document._createElement = document.createElement;
document.createElement = function(tag)
{
var el=document._createElement(tag);
el.methodYouWantToAdd = function(args) {
//do stuff with "this"
return this;
}
return el;
}
------------------------------------------------------------------------------------