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;

}


------------------------------------------------------------------------------------