innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别

飞扬跋扈龙少

飞扬跋扈龙少

2016-02-19 09:27

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别,无聊中的都看过来。
innerText 属性在 IE 浏览器中可以得到当前元素过滤掉 HTML Tags 之后的文本内容,在某些时候还是比较有用。但类似的非标准属性/方法在其他浏览器中并不一定都得到支持。
类似的像 insertAdjacentElement , insertAdjacentElement , insertAdjacentHTML , insertAdjacentText 等。如果需要使用这些非标准的方法,或者已有的代码大量使用了这些方法的话,就必须为其他浏览器提供对应的 prototype 定义。比如:


var isMinNS5 = (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){
   var r = this.ownerDocument.createRange();
   r.setStartBefore(this);
   var parsedHTML = r.createContextualFragment(htmlStr);
   this.appendChild(parsedHTML)
 }
 HTMLElement.prototype.insertAdjacentText = function(where,txtStr){
   var parsedText = document.createTextNode(txtStr)
   this.insertAdjacentElement(where,parsedText)
 }
 HTMLElement.prototype.__defineGetter__
 (
   "innerText",
   function(){
     var anyString = "";
     var childS = this.childNodes;
     for(var i=0; ichildS.length; i++){
       if(childS[i].nodeType==1)
         anyString += childS[i].tagName=="BR" ? ’n’ : childS[i].innerText;
       else if(childS[i].nodeType==3)
         anyString += childS[i].nodeValue;
     }

     return anyString;
   }
 );
}
展开更多 50%)
分享

猜你喜欢

innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别

Web开发
innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别

innerHTMLouterHTML,innerTEXT三者之间的区别

Web开发
innerHTMLouterHTML,innerTEXT三者之间的区别

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

innerHTML和innerText的用法

Web开发
innerHTML和innerText的用法

escape、encodeURI、encodeURIComponent等方法的区别比较

Web开发
escape、encodeURI、encodeURIComponent等方法的区别比较

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

动车一等座和二等座的区别

生活常识
动车一等座和二等座的区别

《Effective C#》:区别四个判等函数

编程语言 网络编程
《Effective C#》:区别四个判等函数

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

浅谈Java变量的初始化顺序详解

浅谈Java变量的初始化顺序详解

丢失的数据忘记备份的处理方法[图文]

丢失的数据忘记备份的处理方法[图文]
下拉加载更多内容 ↓