MSIE의 insertAdjacentHTML 에뮬레이션
인터넷정보2007. 10. 11. 16:46
//------------------------ MSIE의 insertAdjacentHTML 에뮬레이션
if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement){
HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)
{
switch (where){
case 'beforeBegin':
this.parentNode.insertBefore(parsedNode,this)
break;
case 'afterBegin':
this.insertBefore(parsedNode,this.firstChild);
break;
case 'beforeEnd':
this.appendChild(parsedNode);
break;
case 'afterEnd':
if (this.nextSibling)
this.parentNode.insertBefore(parsedNode,this.nextSibling);
else this.parentNode.appendChild(parsedNode);
break;
}
}
HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr)
{
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var parsedHTML = r.createContextualFragment(htmlStr);
this.insertAdjacentElement(where,parsedHTML)
}
HTMLElement.prototype.insertAdjacentText = function(where,txtStr)
{
var parsedText = document.createTextNode(txtStr)
this.insertAdjacentElement(where,parsedText)
}
}
//--------------- 에뮬레이션 끝
if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement){
HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)
{
switch (where){
case 'beforeBegin':
this.parentNode.insertBefore(parsedNode,this)
break;
case 'afterBegin':
this.insertBefore(parsedNode,this.firstChild);
break;
case 'beforeEnd':
this.appendChild(parsedNode);
break;
case 'afterEnd':
if (this.nextSibling)
this.parentNode.insertBefore(parsedNode,this.nextSibling);
else this.parentNode.appendChild(parsedNode);
break;
}
}
HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr)
{
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var parsedHTML = r.createContextualFragment(htmlStr);
this.insertAdjacentElement(where,parsedHTML)
}
HTMLElement.prototype.insertAdjacentText = function(where,txtStr)
{
var parsedText = document.createTextNode(txtStr)
this.insertAdjacentElement(where,parsedText)
}
}
//--------------- 에뮬레이션 끝
'인터넷정보' 카테고리의 다른 글
항상 한글로 나오도록 해더설정 (0) | 2007.10.11 |
---|---|
IE의 dlgHelper 을 사용한 컬러뽑기(IE전용) (0) | 2007.10.11 |
컬러 픽커 테이블 (0) | 2007.10.11 |
위즈윅 에디터들 (0) | 2007.10.11 |
MSIE 와 FireFox호환 (pasteHTML) (0) | 2007.10.11 |
[PHP] 항상 새로고침 해더 설정 (0) | 2007.10.11 |
innerText 대신 사용 (0) | 2007.10.11 |
멋진 트리구조 폴더 (JS와 XML 등등 혼합) (0) | 2007.10.11 |
Internet Explorer에서 Mozilla로 애플리케이션 마이그레이션 하기 (0) | 2007.10.11 |
라디오 버튼을 체크하기 (0) | 2007.10.11 |