我在这里介绍innerHTML、innerText、innerContent

一,innerHTML(可以识别标签):

案例1:替换掉整个标签

        <!--innerHTML-->
<p id="innerHtml" onclick="setInnerHtml(this.id)">这个是对innerHTML的操作</p>
<script type="text/javascript">
function setInnerHtml(obj){
var x = document.getElementById(obj);
x.innerHTML = '<h1>这个是innerHTML替换之后的内容</h1>'
}
</script>

案例2:用js的innerHTML来改变div值

        <p>Welcome to the site <b id='boldStuff'>dude</b> </p>
<input type='button' onclick='changeText()' value='Change Text' />
<script type="text/javascript">
function changeText() {
document.getElementById('boldStuff').innerHTML = 'Fred Flinstone';
}
</script>

二,innerText:用来设置或者获取对象起始标签和结束标签内的文字内容;(火狐不兼容)

        浏览器支持:IE、Chrome

赋值操作:先将ASCII实体对应的字符(<、>、&、'和")转换为实体名,然后把处理后的值赋予给innerHTML属性。

取值操作:innerText的取值实际上就是对innerHTML的属性值进行一系列处理,然后返回,具体步骤如下

1. 对HTML标签进行解析;

2. 对CSS样式进行带限制的解析和渲染;

3. 将ASCII实体转换为对应的字符;

4. 剔除格式信息(如\t、\r和\n等),将多个连续的空格合并为一个。

        <p id="innerText">这是对innerText的操作</p>
<input type="button" onclick="setInnerText('innerText')" value="替换innerText"/>
<input type="button" onclick="getInnerText('innerText')" value="获取innerText"/>
<script type="text/javascript">
function setInnerText(id){
document.getElementById(id).innerText = "这个是替换好的文字";
}
function getInnerText(id){
var _innerText = document.getElementById(id).innerText;
alert(_innerText);
}
</script>

三、innerContent:用来设置或者获取对象起始标签和结束标签内的文字内容,用法同innerText;

  浏览器支持:IE9~11、FireForx、Chrome;

  赋值操作:先将ASCII实体对应的字符(<、>、&、'和")转换为实体名,然后把处理后的值赋予给innerHTML属性。

取值操作:textContent的取值实际上就是对innerHTML的属性值进行一系列处理,然后返回,具体步骤如下

1. 对HTML标签进行剔除;

2. 将ASCII实体转换为相应的字符。

注意:

a). 对HTML标签是剔除不是解析,也不会出现CSS解析和渲染的处理,因此<br/>等元素是不生效的。

b). 不会剔除格式信息和合并连续的空格,因此\t、\r、\n和连续的空格将生效。

四、综上所述,我们总结如下:

  1、IE、Safari、Opera和Chrome支持innerText属性。Firefox虽然不支持innerText,但支持作用类似的textContent属性。textContent是DOM3级规定的一个属性,而且也得到了safari、opera和Chrome的支持。为了确保跨浏览器兼容,有必要想下面这样通过函数来检测可以使用哪个属性:

        <div id="content">综合测试</div>
<input type="button" value="获取元素内容" onclick="getText('content')" />
<input type="button" value="设置元素内容" onclick="setText('content', 'hello world!!!')" />
<script type="text/javascript">
//获取元素的内容
function getText(el) {
var obj = document.getElementById(el);
var result = (typeof obj.textContent == "string") ? obj.textContent : obj.innerText;
alert(result);
return result;
}; //设置元素的内容
function setText(el, text) {
var obj = document.getElementById(el);
if(typeof obj.textContent == "string") {
obj.textContent = text;
} else {
obj.innerText = text;
}
};
</script>

  2、可以封装成一个函数,如果传入对象,则表示获取;如果传入一个对象和一个字符串,表示设置;

        <!--封装函数-->
<div id="pack-function">把innerHTML、innerText封装成为函数</div>
<input type="button" value="封装成函数之后获取内容" id="get-text" />
<input type="button" value="封装成函数之后设置内容" id="set-text" />
<script type="text/javascript">
/*
* 如果传入一个对象,就是获取值,
* 如果传入一个对象和一个字符串,就是设置值
*/
function setText(obj, str) {
if(obj.innerText) {
//console.log(Boolean(str));
if (str) {
obj.innerText = str;
} else{
return obj.innerText;
}
} else {
if (str) {
obj.textContent = str;
} else{
return obj.textContent;
}
};
}; //调用函数
var ele = document.getElementById('pack-function'),
_getText = document.getElementById('get-text'),
_setText = document.getElementById('set-text');
_getText.onclick = function (){
var result = setText(ele);
alert(result);
} _setText.onclick = function(){
setText(ele, 'hello world!');
}
</script>

javascript对内容的操作的更多相关文章

  1. JavaScript对SVG进行操作的相关技术

    原文地址:http://www.ibm.com/developerworks/cn/xml/x-svgscript/   本文主要介绍在 SVG 中通过编程实现动态操作 SVG 图像的知识. SVG ...

  2. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  3. 学习笔记: JavaScript/JQuery 的cookie操作

    转自:http://blog.csdn.net/barryhappy/archive/2011/04/27/6367994.aspx cookie是网页存储到用户硬盘上的一小段信息.最常见的作用是判断 ...

  4. javascript 将内容复制到剪贴板

      javascript 将内容复制到剪贴板 CreateTime--2017年9月19日11:36:50 Author:Marydon js 操作剪贴板 1.设置剪贴板内容 UpdateTime-- ...

  5. JavaScript中使用ActiveXObject操作本地文件夹的方法

    转载地址    http://www.jb51.net/article/48538.htm 在Windows平台上, js可以调用很多Windows提供的ActivexObject,本文就使用js来实 ...

  6. Javascript学习笔记二——操作DOM

    Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...

  7. JavaScript进阶内容——DOM详解

    JavaScript进阶内容--DOM详解 当我们已经熟练掌握JavaScript的语法之后,我们就该进入更深层次的学习了 首先我们思考一下:JavaScript是用来做什么的? JavaScript ...

  8. JavaScript进阶内容——BOM详解

    JavaScript进阶内容--BOM详解 在上一篇文章中我们学习了DOM,接下来让我们先通过和DOM的对比来简单了解一下BOM 首先我们先来复习一下DOM: 文档对象模型 DOM把文档当作一个对象来 ...

  9. JavaScript进阶内容——jQuery

    JavaScript进阶内容--jQuery 我们在前面的文章中已经掌握了JavaScript的全部内容,现在让我们了解一下JavaScript库 这篇文章主要是为了为大家大致讲解JavaScript ...

随机推荐

  1. C#使用Emit构造拦截器动态代理类

    在AOP编程概念介绍中,常见的示例为拦截对象,并在对象的某方法执行前和执行后分别记录日志. 而最常用的拦截方式是使用动态代理类,用其封装一个日志拦截器,当方法被执行时进行日志记录. 日志拦截器类 1 ...

  2. [转]git 删除远程仓库文件

    来源:https://www.jianshu.com/p/de75a9e3d1e1 git删除远程文件夹或文件的方法 项目开发初期由于.gitignore 文件配置不正确很有可能导致某些不需要的目录上 ...

  3. [转]笔记本怎么设置WIfi热点

    https://jingyan.baidu.com/article/335530da4f774019cb41c3eb.html 随着手机的发展,流量的消耗也是大大地增加.虽然很多手机支持wifi,但是 ...

  4. CentOS7下Django环境的搭建安装python3.6.5,virtualenv django1.11.14

    1.帖子1https://blog.csdn.net/a249900679/article/details/51527200 2.virtualenv https://www.cnblogs.com/ ...

  5. net core体系-web应用程序-4net core2.0大白话带你入门-11asp.net core 2.0 cookie的使用

    asp.net core 2.0 cookie的使用   本文假设读者已经了解cookie的概念和作用,并且在传统的.net framework平台上使用过. cookie的使用方法和之前的相比也有所 ...

  6. net core体系-web应用程序-4net core2.0大白话带你入门-2asp.net core新建项目

    新建asp.net core项目   开发环境:Windows Server R2 2008 开发工具:Microsoft Visual Studio 2017 新建asp.net core项目 创建 ...

  7. dns-prefetch,新打开页面预抓取

    dns-prefetch 对性能提升有多大 转载2016-04-07 12:57:41 标签:网站推广dns-prefetch对性能提 dns-prefetch, 是DNS预获取,也是网页前端的优化的 ...

  8. Codeforces 1019C Sergey's problem 构造

    原文链接https://www.cnblogs.com/zhouzhendong/p/CF1019C.html 题目传送门 - CF1019C 题意 给定一个有 $n$ 个节点 . $m$ 条边的有向 ...

  9. 009 spring boot中文件的上传与下载

    一:任务 1.任务 文件的上传 文件的下载 二:文件的上传 1.新建一个对象 FileInfo.java package com.cao.dto; public class FileInfo { pr ...

  10. count()函数在count()中参数的讨论

    http://www.cnblogs.com/CareySon/p/DifferenceBetweenCountStarAndCount1.html