innerText 속성은 IE 브라우저에서 HTML 태그를 필터링한 후 현재 요소의 텍스트 콘텐츠를 얻는 데 사용할 수 있으며, 이는 경우에 따라 매우 유용합니다. 그러나 유사한 비표준 속성/메서드가 다른 브라우저에서 반드시 지원되는 것은 아닙니다.
insertAdjacentElement , insertAdjacentElement , insertAdjacentHTML , insertAdjacentText 등과 같은 유사한 것입니다. 이러한 비표준 메서드를 사용해야 하거나 기존 코드가 이러한 메서드를 광범위하게 사용하는 경우 다른 브라우저에 해당 프로토타입 정의를 제공해야 합니다. 예를 들어:
var isMinNS5 = (navigator.appName.indexOf("Netscape") >= 0 &&
parseFloat(navigator.appVersion) >= 5) 1 : 0;
if (isMinNS5){
HTMLElement.prototype.insertAdjacentElement = 함수(where,parsedNode){
스위치(어디){
사례 시작 전:
This.parentNode.insertBefore(parsedNode,this)
휴식;
시작 후 사례:
This.insertBefore(parsedNode,this.firstChild);
휴식;
사례 종료 전:
This.appendChild(parsedNode);
휴식;
종료 후 사례:
if(this.nextSibling){
This.parentNode.insertBefore(parsedNode,this.nextSibling);
}
그 외{
this.parentNode.appendChild(parsedNode)
}
휴식;
}
}
HTMLElement.prototype.insertAdjacentHTML = 함수(where,htmlStr){
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var parsedHTML = r.createContextualFragment(htmlStr);
this.appendChild(parsedHTML)
}
HTMLElement.prototype.insertAdjacentText = 함수(where,txtStr){
var parsedText = document.createTextNode(txtStr)
this.insertAdjacentElement(where,parsedText)
}
HTMLElement.prototype.__defineGetter__
(
"innerText",
함수(){
var anyString = "";
var childS = this.childNodes;
for(var i=0; i
anyString = childS[i].tagName=="BR" ? n : childS[i].innerText;
else if(childS[i].nodeType==3)
anyString = childS[i].nodeValue;
}
anyString을 반환합니다.
}
);
}