从零开始学 Web 之 DOM(三)innerText与innerHTML、自定义属性
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程。此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注。在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。现在就让我们一起进入 Web 前端学习的冒险之旅吧!
一、兼容代码
1、封装 innerText 和 TextContent
// 设置任意标签的文本内容为任意内容
function setText(element, text) {
(typeof element.TextContent === "undefined") ? (element.innerText = text) : (element.textContent = text);
}
// 获取任意标签的文本内容
function getText(element) {
return (typeof element.TextContent === "undefined" ? element.innerText : element.textContent);
}
// 示例代码
my$("btn").onclick = function () {
setText(my$("dv"), "hahahhahha");
};
my$("btn").onclick = function () {
console.log(getText(my$("dv")));
};
1、设置成对标签中文本内容:
innerText 属性是 IE8 标准属性,chrome,fireFox,IE8都支持。
textContent 是W3C标准属性,chrome,firefox支持,IE8不支持。
2、获取成对标签中文本内容:
在 IE8 下使用 textContent 获取成对标签中文本内容,返回值为 undefined。
那么说明,浏览器不支持的属性的类型都为 undefined.
通过判断元素有无 textContent 属性(没有则元素的 textContent 属性为 undefined)来决定用 innerText 还是 textContent。
2、innerText 和 innerHTML
<div id="dv">
哈哈
<p>p标签</p>
</div>
<script src="common.js"></script>
<script>
my$("dv").innerText = "div标签"; // 只显示文本
my$("dv").innerHTML = "div标签"; // 只显示文本
my$("dv").innerText = "<a href='#'>a标签</a>"; // 只显示文本
my$("dv").innerHTML = "<a href='#'>a标签</a>"; // 带有a标签格式
console.log(my$("dv").innerText); // 哈哈 p标签
console.log(my$("dv").innerHTML); // 哈哈 <p>p标签</p>
</script>
innerText 属性:设置和获取只能得到文本内容。
innerHTML 属性:不仅可以获得文本内容,还可以设置和获取 html 标签,让其显示或得到对应标签的格式。
二、自定义属性操作(设置,获取,移除)
<p>p标签</p>
<script src="common.js"></script>
<script>
var pObj = document.getElementsByTagName("p")[0];
pObj.setAttribute("hello", "world"); // <p hello="world">p标签</p>
console.log(pObj.getAttribute("hello")); // world
</script>
1、标签中自定义的属性是不能通过
DOM对象.属性
的方式获取的,因为这个属性在DOM里面不存在,强行获取只能是 undefined。2、相应的,设置也是一样的,通过
DOM对象.属性
的方式设置自定义标签,结果设置的只是DOM对象的自定义属性,这个自定义属性不会在标签上显示出来。
获取:通过
DOM对象 .getAttibute("自定义属性的名字")
来获取自定义属性的值。设置:通过
DOM对象 .setAttibute("自定义属性的名字", "自定义属性的值")
来设置自定义属性。移除:通过
DOM对象 .removeAttibute("自定义属性的名字")
来设置自定义属性。PS:removeAttibute 也可以用来移除元素自带的属性,比如类 class 属性等。
removeAttribute("class")
从零开始学 Web 之 DOM(三)innerText与innerHTML、自定义属性的更多相关文章
- 从零开始学 Web 之 DOM(一)DOM的概念,对标签操作
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- 从零开始学 Web 之 DOM(四)节点
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- 从零开始学 Web 之 DOM(二)对样式的操作,获取元素的方式
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- 从零开始学 Web 之 DOM(五)元素的创建
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... +-------------------------------------------------------- ...
- 从零开始学 Web 之 DOM(六)为元素绑定与解绑事件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... +-------------------------------------------------------- ...
- 从零开始学 Web 之 DOM(七)事件冒泡
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... +-------------------------------------------------------- ...
- 从零开始学 Web 系列教程
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新…… github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http:/ ...
- 从零开始学 Web 之 Ajax(三)Ajax 概述,快速上手
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 移动Web(三)Zepto
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
随机推荐
- .net C# 利用Session防重复点击防重复提交
<body> <form id="form1" runat="server"> <div> < ...
- [leetcode]52. N-Queens II N皇后
The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens ...
- 微软Office Online服务安装部署(一)
1.要使用office online功能,首先需要的是2台主机,并且主机的系统要求是windwos Server 我把他命名为Server和Client(两台服务器 用户必须为administrato ...
- js的一些总结
函数 函数是一等公民 函数可以有属性,并且能连接到它的构造方法 函数可以像一个变量一样存在内存中 函数可以当做参数传给其他函数 函数可以返回其他函数 加法操作表 Number + Number -&g ...
- PowerShell 脚本中调用密文密码
1. 把密码转变为加密的字符串.使用命令 ConvertFrom-SecureString Read-Host "Enter Password" -AsSecureString | ...
- WPF图片拖拉变形、合成
使用WPF的装饰器(Adorner)实现图片拖拉变形,DrawingVisual高保真合成图片.效果如下: 源码:https://gitee.com/orchis/ImageFotoMix.git
- Oracle使用JDBC进行增删改查 表是否存在
Oracle使用JDBC进行增删改查 数据库和表 table USERS ( USERNAME VARCHAR2(20) not null, PASSWORD VARCHAR2(20) ) a ...
- java29
1.封装小练习--长方形 创建长方形类 使用getset方法 利用返回值方法计算长方形的面积,周长. 保证长方形的长宽为整数 2.继承小练习--猫狗 当父类中有构造器时,子类也要有构造器,并且要求设置 ...
- mui几种页面跳转方式对比
1.初始化时创建子页面 mui.init({ subpages: [{ url: your - subpage - url, //子页面HTML地址,支持本地地址和网络地址 id: your - su ...
- mui.init()和mui.plusReady()
1.每个用到mui的页面都调用下mui.init.2.如果需要使用大H5+对象,就写到plusReady中,如plus对象. HTML5+扩展api是针对手机APP的,只有才手机应用(比如手机浏览器) ...