innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别

2016-02-19 09:27 12 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

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;
   }
 );
}

来源:https://www.tulaoshi.com/n/20160219/1590865.html

延伸阅读
标签: Web开发
对于获取某一个元素的值,如input框,我们往往是用$('#test').val(); $('#test')这个我就不多说了,反正就是获取ID为test的这个元素。 $('#test').val(),也就是获取它的值,一般来说,凡是能够用在FORM里的元素,都可以用.val()来进行值的获取,如input,textarea,select等,都可以用.val()来获取它们的当前值 而.val('aa');则是设置该元...
美味不用等怎么排队   1、首先下载美食不用等app,然后安装打开它 2、点击即可进入餐厅列表,同样基于定位将30公里内提供排号的餐厅,按照距离排列,界面信息包括菜系,人均价格,距离,评分,等位人数,根据自己的需求点进去。 3、进入某个餐厅详情页,就可以看到排号信息,包括等待桌数与预计等待时间,另外还有贴心的...
标签: 健身 锻炼 运动
等电梯的健身保健方法: (1)动作一:办公包静力练习 两脚分开站立,两脚距离大约与肩同宽,两手手心向上握住你的办公包带,两臂保持肘关节贴紧身体,运用肱二头肌的力量去控制住你的办公包,尽可能不要让办公包发生摆动。 此外,你也可尝试以两手心相对的动作去练习。以便获得不同的训练效果。每次动作姿势保持30秒左...
标签: 电脑入门
   ╭⌒⌒╮╮    ╰﹀﹀╭⌒╮╮    ╰﹀﹀╯     倣掱孒 浔找洎己哋尒圉湢 ----------------------- ▁▂▃若你需要 我愿向来世┉. ---------------------------------      『再借几年』 就算下场是┉      『不得好死』 ...

经验教程

500

收藏

38
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部