此文主要讲述在使用 innerText 和 innerHTML 获取元素中间值时的差别,我个人将二者的区别简单的理解为:

  1. webelement.innerText : 获取的是页面元素显示的文本
  2. webelement.innerHTML : 获取的是元素中间的 HTML 源码

闲话少述,就此上码。敬请小主参阅,若有不足之处,敬请大神指正,不胜感激!

对应的 HTML 页面源码如下所示:

 <html>
<head>
<meta charset='utf-8'> <title>JS-003-innerText 与 innerHTML 区别</title>
<script type="text/javascript" src="common.js"></script>
<script type="text/javascript" src="test.js"></script> <link rel="stylesheet" type="text/css" href="global.css">
</head> <body>
<div id="jscss">
<h4>innerText 与 innerHTML 区别</h4>
<ul>
<li>1、改变 HTML 元素的样式语法:document.getElementById(id).style.property=new style</li>
<li>2、改变字体颜色:document.getElementById('id1').style.color='red'</li>
<li>3、添加属性:btn.children[5].setAttribute("class", "a_class"),class用第一种方法无法添加</li>
<li>4、获取&lt;button&gt;标签中间的值:button.innerText</li>
<li>5、获取&lt;button&gt;标签的value值:button.value</li>
<br>
<li>webelement.innerHTML 获取的为元素中间的 HTML 源码</li>
<li>webelement.innerText 获取的为页面元素显示的文本</li>
</ul>
<input id="ms" type="text">
<input id="p2" type="button" value="修改字体颜色-1" onclick="modCss()">
<button id="id1" type="button" onclick="document.getElementById('id1').style.color='red'">修改字体颜色-2</button> <button id="cssm" type="button" onclick="cssm()" value="button 样式修改 value"><a>样式修改</a></button>
</div> <div>
<br><br><br><br>
<a href="http://www.w3school.com.cn/jsref/dom_obj_style.asp" target="_blank">HTML DOM Style 对象</a>
</div>
</body>
</html>

上述页面源码中涉及的 modCss() 函数源码如下所示:

 function modCss(){
document.getElementById("p2").style.color="blue";
}

上述页面源码中涉及的 cssm() 函数源码如下所示:

 function cssm(){
var input = document.getElementById("ms");
// 文本框赋值
input.value = "文本框赋值"; // 修改文本框中字体颜色
input.style.color = "red"; // 设置背景色
input.style.backgroundColor = "gray"; // 修改文本框边框大小、颜色
input.style.border = "4px solid blue"; // 修改文本框对齐方式
input.style.textAlign = "center"; alert("input.value : " + document.getElementById("ms").value + "\n" +
// 火狐和 chrome 均支持获取 button 的 value
"button.value : " + document.getElementById("cssm").value + "\n" +
// 火狐和 chrome 均支持获取 button 的 innerHTML
"button.innerHTML : " + document.getElementById("cssm").innerHTML + "\n" +
// 火狐不支持 innertText 的 innerText 获取方式,Chrome 支持
"button.innerText : " + document.getElementById("cssm").innerText);
}

点击 样式修改 按钮弹出的信息如下所示,从中可以明显的看出 innerText 与 innerHTML 的区别。

其中 HTML 第26、27 行修改按钮 修改字体颜色-1修改字体颜色-2 的 js 脚本是一致的,区别主要在于实现样式修改的方式:一个是调用的函数,一个是直接将函数写在了对应的属性之上(当功能实现非常简单时可以这样写,较复杂的 js 脚本不建议)。

至此, JS-003-innerText 与 innerHTML 区别 顺利完结,希望此文能够给初学 JavaScript 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

JS-003-innerText 与 innerHTML 区别的更多相关文章

  1. js中innerText/value/innerHTML三个属性的区别

    在做一个两个窗口之间的简单信息交互时遇见了一点问题,导致信息无法正常的传递. 最后发现问题是在innerText和value这两个属性上,先简单的总结记录一下几个相似的属性的作用: 1.innerTe ...

  2. [原]innerText与innerHTML区别

    window.onload = function () {             document.getElementById('btn1').onclick = function () {    ...

  3. JS的innerText和innerHTML

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. innerText与innerHTML的区别

    innerText与innerHTML的区别:1.innerText将所有文本内容作为普通的文本2.innerHTML会识别文本内容中是否含有html标签,它能够把html标签的效果显示出来3.inn ...

  5. Js之Dom学习-三种获取页面元素的方式、事件、innerText和innerHTML的异同

    一.三种获取页面元素的方式: getElementById:通过id来获取 <body> <input type="text" value="请输入一个 ...

  6. jQuery中的text()、html()和val()以及innerText、innerHTML和value

    *jQuery中设置或者获取所选内容的值:text();设置或者获取所选元素的文本内容: html();设置或者获取所选元素的内容(包括html标记): val();设置或者获取表单字段的值(前提是表 ...

  7. jQuery中的text()、html()和val()以及javaScript中的innerText、innerHTML和value

    *jQuery中设置或者获取所选内容的值:text();设置或者获取所选元素的文本内容: html();设置或者获取所选元素的内容(包括html标记): val();设置或者获取表单字段的值(前提是表 ...

  8. JavaScript DOM编程基础精华02(window对象的属性,事件中的this,动态创建DOM,innerText和innerHTML)

    window对象的属性1 window.location对象: window.location.href=‘’;//重新导航到新页面,可以取值,也可以赋值. window.location.reloa ...

  9. 从零开始学 Web 之 DOM(三)innerText与innerHTML、自定义属性

    大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...

随机推荐

  1. SqlServer主键外键添加及判断表是否存在

    GO --判断表是否存在方式1 if object_id(N'EF_User',N'U') is null --判断表是否存在方式2 --if not exists (select * from db ...

  2. Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍

    引用自 :http://www.2cto.com/database/201307/224836.html   Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍 先假设有这么一个表 ...

  3. hlg 2130 状压dp

    基本的状压dp 需要注意的是两点之间直线最短 所以不需要进行floyd 由于把dp的memset放在了初始化0的后面de了好久的bug.. #include<stdio.h> #inclu ...

  4. mongodb 手动分片的命令汇总

    手动分片的操作 自动分片会带来性能的下降. 所以要合理使用手动分片. 并且配合Tag一起使用. # 对于4个shard的程序, 预先处理的指令1. 加入分片服务器sh.addShard( " ...

  5. [办公自动化]无法使用江南天安usbkey 无法使用视频网站

    同事打来电话说,无法使用江南天安开发的usbkey. 修复基本步骤记录如下: 1.卸载一切设备管理器中与之相关的驱动.拔出key. 2.重启计算机. 3.前往业务公开网站安装驱动. 4.插入key测试 ...

  6. Web 在线文件管理器学习笔记与总结(10)查看文件夹中的内容

    ① 读取文件夹大小 a. 封装计算文件夹大小的函数 b.  打开文件夹 c. 循环判断文件夹下的内容是文件还是文件夹,如果是文件,则累积相加文件的大小:如果是文件夹,则递归调用该函数 注意两个问题: ...

  7. 放到u-boot/arch/arm/inlcude下面解压A20固件库制作笔记

    运行 build_dragonboard.sh,完成一次编译,首次编译需要消耗 20 分钟以上的时间.这里包括编译bootloader.kernel.rootfs. 修改 Linux 内核配置$ cd ...

  8. Happy

    1.delighted 2.over the moon                   Alex is over the moon with promotion. 3.really pleased ...

  9. Memcache技术分享:介绍、使用、存储、算法、优化、命中率

    1.memcached 介绍 1.1 memcached 是什么? memcached 是以LiveJournal旗下Danga Interactive 公司的Brad Fitzpatric 为首开发 ...

  10. js 程序出发事件

    <html> <head><title>Test</title></head> <body> <div id='divTe ...