源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别

  • 时间:2022-08-05 23:04 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要: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; i<childS.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;    }  ); }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部