设置和获取---标签内容和文本内容

 

总结---设置:

使用innerText主要是设置文本的, 设置标签内容, 是没有标签的效果的
innerHTML是可以设置文本内容
innerHTML主要的作用是在标签中设置新的html标签内容, 是有标签效果的
 
  1. 想要设置标签内容, 使用innerHTML 
  2. 想要设置文本内容, innerText或者textContent, 或者innerHTML, 推荐用innerHTML
 

总结---获取:

  1. innerText可以获取标签中间的文本内容, 但是标签中如果还有标签, 那么最里面的标签的文本内容也能获取.---获取不到标签, 但文本可以获取
  2. innerHTML才是真正的获取标签中间的所有内容

1. 关于innerText和textContent

设置和获取文本内容

    //点击按钮设置div中的文本内容
my$("btn").onclick = function () {
//设置标签中间的文本内容, 应该使用textContent属性
my$("dv").textContent = "this is div标签";
// my$("dv").innerText = "啊,这是div"; //获取标签中间的文本内容
console.log(my$("dv").textContent);
// console.log(my$("dv").innerText);
};
  1. 设置标签中的文本内容, 应该使用textContent属性, 谷歌, 火狐支持, IE8不支持
  2. 设置标签中的文本内容, 应该使用innerText属性, 谷歌, 火狐, IE8都支持
 

测试兼容的代码如下:

  • 如果这个属性在浏览器中不支持, 那么这个属性的类型是undefined
  • 判断这个属性的类型,是不是undefined, 就知道浏览器是否支持

设置任意的标签中间的任意文本内容

    //设置任意的标签中间的任意文本内容
function setInnerText(element, text) {
//判断浏览器是否支持这个属性
if (typeof element.textContent == "undefined") {//不支持
element.innerText = text;
} else {//支持这个属性
element.textContent = text;
}
}

获取任意标签中间的文本内容

    function getInnerText(element) {
if (typeof element.textContent == "undefined") {
return element.innerText;
} else {
return element.textContent;
}
}

测试

    my$("btn").onclick = function () {
//console.log(getInnerText(my$("dv")));
setInnerText(my$("dv"), "哈哈,我又变帅了");
};

2. 关于innerText和innerHTML

如果使用innerText主要是设置文本的,设置标签内容,是没有标签的效果的
innerHTML是可以设置文本内容
innerHTML主要的作用是在标签中设置新的html标签内容,是有标签效果的
 
 

设置:

  my$("btn").onclick=function () {
//my$("dv").innerText="哈哈";//设置文本
//my$("dv").innerText="<p>这是一个p</p>";//设置html标签的代码 //my$("dv").innerHTML="哈哈";
//my$("dv").innerHTML="<p>这是一个p</p>";//设置Html标签的
};

获取的时候:

  innerText可以获取标签中间的文本内容,但是标签中如果还有标签,那么最里面的标签的文本内容也能获取.---获取不到标签的,文本可以获取
  innerHTML才是真正的获取标签中间的所有内容
  //获取
my$("btn2").onclick=function () {
//可以获取标签中的文本内容
//console.log(my$("dv").innerText);
console.log(my$("dv").innerHTML);
};

JS---DOM---设置和获取---标签内容和文本内容的更多相关文章

  1. xpath获取标签对本身含内容, 获取html内容

    通常使用xpath我们直接定位到标签后, 使用/text() 或 //text()来获取标签对之间的文本值, 但特殊情况下我们也需要获取标签本身含文本值, 操作如下: 文件为html, 标签对结构如下 ...

  2. selenium获取标签中的文本

    # 寻找文本所在的标签waitClickCompanyName = driver.find_elements_by_xpath('//div[@id="nsrzt"]//li') ...

  3. jsoup获取标签下的文本(去除子标签的)

    jsoup获取标签下的文本(去除子标签的) <pre name="code" class="java">Element content=doc.se ...

  4. java正则 读取html 获取标题/超链接/链接文本/内容

    java正则 读取html 获取标题/超链接/链接文本/内容 参考链接:http://yijianfengvip.blog.163.com/blog/static/175273432201142785 ...

  5. httprequest存储的是字符内容 而文本内容是以字节形式上传的;所以普通的取值方式无法从httprequest取到值

    httprequest存储的是字符内容 而文本内容是以字节形式上传的;所以普通的取值方式无法从httprequest取到值

  6. JS DOM用不同方法获取节点及对节点插入、复制和移除

    操作节点的方法 appendChild() insertBefore() replaceChild() cloneNode() normalize() splitText() sppendChild( ...

  7. js ajax设置和获取自定义header信息的方法总结

    目录 1.js ajax 设置自定义header 1.1 方法一: 1.2 方法二: 2.js ajax 获取请求返回的response的header信息 3.js ajax 跨域请求的情况下获取自定 ...

  8. APP自动化 -- 获取toast元素的文本内容

    一.toast元素 1.表现形式:toast元素就是下图中  “操作成功” 那个一闪而过的标签. 2.特殊点:因为一闪而过,时间太短,用UIAutomatorView截屏截不到. 二.获取方法 1.用 ...

  9. 设置UILabel可变高度(根据文本内容自动适应高度)

    @property(nonatomic)UILabel *showLabel;   // 计算文本所占高度,计算出来之后设置label的高度 // 第一个参数:字体大小,字体大小/样式影响计算字体的高 ...

随机推荐

  1. JAVA学习第一课-手工笔记

    JVM:JAVA虚拟机,JAVA核心,跨平台,作用是翻译. JRE:运行环境,包含JVM和运行的核心类库. JDK:全新开发使用,包含JRE,编译工具: 核心是JVM 以下是关系库 安装路径不要有空格 ...

  2. Dict.setdefault()

    """ setdefault方法参数输入已有键,返回对应值,找不到已有键,创建新键,值为None """ >>> dict ...

  3. 侠梦说pinpoint--界面上的图标之AgetnInfo数据研究

    前言 在启动一个挂载pinpoint的springboot项目的时候,界面上显示成了jboss的图标,所以今天研究了一下这个数据是怎么来的. 我们知道不同图标和服务类型有关,服务不同,图标就不同,这在 ...

  4. go基础之并发

    1.Goroutines是轻量级线程 2.channels的同步通信 1.Goroutines是轻量级线程 go语句在单独的线程中运行一个函数. 你可以使用go语句启动一个新的执行线程,即一个goro ...

  5. dubbo 订阅 RPC 服务

    Dubbo 订阅 RPC 服务 建立消费者者项目 pom.xml <?xml version="1.0" encoding="UTF-8"?> &l ...

  6. windows程序设计01_utf8编码问题

    坚持与妥协 从学程序的第一天老师就给我们说源代码应该使用utf8保存.因为先入为主,"源代码应该使用utf8"的观念已经在"学院派"出身的程序员脑子里根深蒂固. ...

  7. Sql Server存储过程详解

    存储过程--查询: if (exists (select * from sys.objects where name = 'GetUser')) drop proc GetUser --判断存储过程是 ...

  8. 修改CentOS7网卡名字

    需求:CentOS7网卡名字不像之前CentOS6版本的eth0,eth1这样的名字了,而是enoxxx比较长,不太容易记忆,操作也不方便!这时候就需要改网卡名字了.   1 :查看你的CentOS7 ...

  9. Spring Cloud Alibaba 新一代微服务解决方案

    本篇是「跟我学 Spring Cloud Alibaba」系列的第一篇, 每期文章会在公众号「架构进化论」进行首发更新,欢迎关注. 1.Spring Cloud Alibaba 是什么 Spring ...

  10. NodeJS1-1 NodeJS是什么?

    Node.js is a JavaScript  runtime built on Chrome's V8  Node.js uses an event-driven,non-blocking I/O ...