迁移时间--2017年10月31日14:52:59

Author:Marydon

UpdateTime--2017年1月15日20:33:03
innerHTML,outerHTML与innerText
示例:

<div id="test">
测试<br/>
<input type="text"/>
<input type="button"/>
<div>innerHTML与outerHTML的区别</div>
</div>

  innerHTML--取的是标签体内的所有内容
  如:

window.onload = function() {
document.getElementById("test").innerHTML;
//显示的所有内容
/*测试<br/>
<input type="text"/>
<input type="button"/>
<div>innerHTML与outerHTML的区别</div>*/
}

用法:
  1.取值

var html = document.getElementById("test").innerHTML;

  2.赋值(覆盖掉原来的内容)

document.getElementById("test").innerHTML = "这里是替换后的内容";

  如:

document.getElementById("test").innerHTML = "<font color='red'>${model.data.forgid}</font>";

  3.给当前标签体内添加或追加子标签或内容;

  如:

document.getElementById("test").innerHTML += "<font color='red'>${model.data.forgid}</font>";

outerHTML--根据标签本身的引用来获取标签自身的html标签(即:标签体本身+标签体里面的内容)

window.onload = function() {
document.getElementById("test").outerHTML;
//显示的是该标签体
/*<div id="test">
测试<br/>
<input type="text"/>
<input type="button"/>
<div>innerHTML与outerHTML的区别</div>
</div>*/
}

用法:

  1.取值

var html = document.getElementById("test").outerHTML;

  2.给指定元素的后面添加同级元素或内容;

  如:

document.getElementById("test").outerHTML += "<font color='red'>${model.data.forgid}</font>";
/**
* 不兼容outerHTML的解决办法
*/
if(!document.body.outerHTML && typeof(HTMLElement) != "undefined") {
HTMLElement.prototype.__defineGetter__("outerHTML", function() {
var a = this.attributes,
str = "<" + this.tagName,
i = 0;
for(; i < a.length; i++)
if(a[i].specified)
str += " " + a[i].name + '="' + a[i].value + '"';
if(!this.canHaveChildren)
return str + " />";
return str + ">" + this.innerHTML + "</" + this.tagName + ">";
});
HTMLElement.prototype.__defineSetter__("outerHTML", function(s) {
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var df = r.createContextualFragment(s);
this.parentNode.replaceChild(df, this);
return s;
});
HTMLElement.prototype.__defineGetter__("canHaveChildren", function() {
return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase());
});
}

innerText--取的是标签体内的所有文本内容
  如:

window.onload = function() {
document.getElementById("test").innerText;
//显示所有的文本内容
/*测试
innerHTML与innerText的区别*/
}

  用法:同innerHTML

innerText与innerHTML的区别
  区别1:
    取值(上面例子)
  区别2:赋值

$get("FORGNAME_SPAN").innerText= "『<font color=red>" + json.FORGNAME + "</font>』下属医疗机构相关信息";

  显示结果:

    『<font color=red>中华人民共和国</font>』下属医疗机构相关信息  

$get("FORGNAME_SPAN").innerHTML= "『<font color=red>" + json.FORGNAME + "</font>』下属医疗机构相关信息";

  显示结果:

    『中华人民共和国』下属医疗机构相关信息

 

innerHTML outerHTML innerText的更多相关文章

  1. innerHTML,outerHTML,innerText,outerText区别以及insertAdjacentHTML()方法

    在需要给文档插入大量的新的HTML标记的情况下,通过多次DOM操作先创建节点再指定它们之间的关系会非常麻烦而且效率不高,相对而言插入标记的方法会更加简单,速度也更快. 插入标记中有这四个属性inner ...

  2. innerHTML/outerHTML; innerText/outerText; textContent

    innerHTML v.s. outerHTML Element.innerHTML Reference: https://developer.mozilla.org/en-US/docs/Web/A ...

  3. (转)innerHTML、innerText和outerHTML、outerText的区别

    原文:http://walsh.iteye.com/blog/261966 innerHTML.innerText和outerHTML.outerText的区别          博客分类: CSS/ ...

  4. textContent、innerHTML、innerText、outerText、outerHTML、nodeValue使用场景和区别

    今天要讲的这些属性都可以用来获取某个元素的内容,你可能会觉得不可思议,或是说上一句"丧心病狂"也.但当你看完以下内容后,会发现除outerText无用外,其他的都有各自的使用场景, ...

  5. 测试开发技术:DOM中 innerHTML、innerText、outerHTML、outerText的区别

    测试开发技术:DOM中 innerHTML.innerText.outerHTML.outerText的区别   我们在做web自动化的过程中通过dom处理web页面元素,那么你就要了解innerHT ...

  6. innerHTML、innerText和outerHTML、outerText的区别

    区别描述如下: innerHTML 设置或获取位于对象起始和结束标签内的 HTML outerHTML 设置或获取对象及其内容的 HTML 形式 innerText 设置或获取位于对象起始和结束标签内 ...

  7. DOM中的outerHTML,innerHTML,outerText,innerText的区别

    --转自http://blog.163.com/yw_0721/blog/static/7164579720102932157759/ 简单的说innerHTML和outerHTML.innerTex ...

  8. JS中innerHTML和innerText,outerHTML和outerText

      innerHTML 声明了元素含有的HTML文本,不包括元素本身的开始标记和结束标记 innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器(现在也适应chrome浏览器 ...

  9. JS中innerHTML/outerHTML和innerText/outerText以及value 的区别与使用

    value value:value是表单元素特有的属性,输入输出的是字符串 如下面的例子,获取到的是他们的value值 <input type="text" id=" ...

随机推荐

  1. RIP 路由协议

    RIP动态路由选择协议 routing information protocol     IGP   小范围   路由器限制为15台  超过可能无法收敛   收敛概念  在一个域内  各个路由器知道各 ...

  2. TensorFlow——热身运动:简单的线性回归

    过程: 先用numpy建立100个数据点,再用梯度下滑工具来拟合,得到完美的回归线. # _*_coding:utf-8_*_ import tensorflow as tf import numpy ...

  3. Wannafly挑战赛11

    就做了两个数学题 链接:https://www.nowcoder.com/acm/contest/73/A来源:牛客网 白兔的分身术 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 2 ...

  4. IO Streams:缓冲流

    我们迄今为止看到的大多数示例都使用无缓冲的I / O.这意味着每个读或写请求都由底层操作系统直接处理.这使程序效率变得很低,因为每个这样的请求经常触发磁盘访问,网络活动或一些相对昂贵的其他操作. 为了 ...

  5. DS-博客作业06--图

    DS-博客作业06--图 1.本周学习总结(0--2分) 1.思维导图 2.谈谈你对图结构的认识及学习体会. 本章的图,因为和上一章的树上的比较紧凑,所以在考前一个星期也有看书背代码,也有理解代码和思 ...

  6. 设计模式(二 & 三)工厂模式:1-简单工厂模式

    模拟场景: 需要构造一个运算器(Operation),分别负责加减乘除的运算功能. 思想: 这里需要构造四个 Operation,可以使用 Factory 去统一创建这四个对象. 所需要构造的对象是运 ...

  7. HDU——1465不容易系列之一(错排公式)

    不容易系列之一 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  8. BZOJ 4553 [Tjoi2016&Heoi2016]序列 ——CDQ分治 树状数组

    考虑答案的构成,发现是一个有限制条件的偏序问题. 然后三个维度的DP,可以排序.CDQ.树状数组各解决一维. #include <map> #include <cmath> # ...

  9. python hashlib模块 logging模块 subprocess模块

    一 hashlib模块 import hashlib md5=hashlib.md5() #可以传参,加盐处理 print(md5) md5.update(b'alex') #update参数必须是b ...

  10. poj 3168 Barn Expansion

    Barn Expansion Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2465   Accepted: 666 Des ...