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;

}


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


번호 제목 글쓴이 날짜 조회 수
110 사용자 모듈 만들기 황제낙엽 2019.07.09 41735
109 User Agent 정보 모음 file 황제낙엽 2011.02.22 7768
108 페이지 스크롤 끝 확인 황제낙엽 2011.10.24 6230
107 ActiveX 설치 여부를 검사하는 스크립트 황제낙엽 2011.02.13 4053
106 브라우저의 새로고침과 종료에 대한 이벤트 황제낙엽 2017.08.11 2725
105 부동소수점 (floating-point) file 황제낙엽 2018.03.26 1122
104 javascirpt IME-Mode 설정하기 황제낙엽 2010.08.17 1112
103 경과 시간 구하기 황제낙엽 2019.10.04 1071
102 각 브라우저 별 User Agent 정보 황제낙엽 2011.02.22 823
101 자바스크립트의 쉬프트 연산자 (Shift Operator) 와 음수 (Negative) 이야기 황제낙엽 2012.05.31 726
100 iframe auto resize (cross browsing) 황제낙엽 2011.05.13 658
99 입력받은 날짜와 현재 날짜와의 비교 함수 황제낙엽 2019.08.02 500
98 url encode & decode 황제낙엽 2011.10.30 469
97 자바스크립트로 서버의 XML파일을 접근 (실패했슴) 황제낙엽 2005.12.11 444
96 Javascript 내장객체 String 황제낙엽 2007.04.10 392
95 JavaScript Touch and Gesture Events iPhone and Android 황제낙엽 2012.04.12 337
94 unshift() Method 황제낙엽 2009.03.02 287
93 Jasmine 테스트 및 CI 구축 가이드 황제낙엽 2016.11.16 254
» Why does this simple Javascript prototype not work in IE? 황제낙엽 2011.03.24 242
91 브라우저에서 뒤로 가기 막기와 펑션키(function key) 막기 황제낙엽 2005.10.21 236