手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别
innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别
摘要:innerText属性在IE浏览器中可以得到当前元素过滤掉HTMLTags之后的文本内容,在某些时候还是比较有用。但类似的非标准属性/方法在...

innerText属性在IE浏览器中可以得到当前元素过滤掉HTMLTags之后的文本内容,在某些时候还是比较有用。但类似的非标准属性/方法在其他浏览器中并不一定都得到支持。

类似的像insertAdjacentElement,insertAdjacentElement,insertAdjacentHTML,insertAdjacentText等。如果需要使用这些非标准的方法,或者已有的代码大量使用了这些方法的话,就必须为其他浏览器提供对应的prototype定义。比如:

varisMinNS5=(navigator.appName.indexOf("Netscape")>=0&&

parseFloat(navigator.appVersion)>=5)?1:0;

if(isMinNS5){

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){

varr=this.ownerDocument.createRange();

r.setStartBefore(this);

varparsedHTML=r.createContextualFragment(htmlStr);

this.appendChild(parsedHTML)

}

HTMLElement.prototype.insertAdjacentText=function(where,txtStr){

varparsedText=document.createTextNode(txtStr)

this.insertAdjacentElement(where,parsedText)

}

HTMLElement.prototype.__defineGetter__

(

"innerText",

function(){

varanyString="";

varchildS=this.childNodes;

for(vari=0;i<childS.length;i++){

if(childS[i].nodeType==1)

anyString+=childS[i].tagName=="BR"?’n’:childS[i].innerText;

elseif(childS[i].nodeType==3)

anyString+=childS[i].nodeValue;

}

returnanyString;

}

);

}

【innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别】相关文章:

灵活的理解JavaScript中的this指向

JS选项卡动态替换banner图片路径的方法

JavaScript的Date()方法使用详解

js+html5通过canvas指定开始和结束点绘制线条的方法

鼠标图片振动代码

详解Angularjs filter过滤器

鼠标划过时整行变色

js中跨域方法原理详解

浅谈javascript中for in 和 for each in的区别

经典的带阴影的可拖动的浮动层

精品推荐
分类导航