JS魔法堂:再识ASCII实体、符号实体和字符实体

简介:
符实体

一、前言                                         

  相信大家都熟悉通过字符实体   来实现多个连续空格的输入吧!本文打算对三类HTML实体及JS相关操作作进一步的整理和小结,若有纰漏请大家指正,谢谢。

 

二、初识HTML实体                                                                 

  由于HTML中某些字符是预留的(如>和<等),若要在进行HTML解析出来后能正确显示预留字符,则需要使用字符实体来代替了。

  字符实体有三种表示方式:

复制代码
// Named character reference(实体名)
// 示例:&nbsp;
&entity_name;

// Decimal numeric character reference(十进制实体编号)
// 示例:&#229
&#entity_number;

// Hexademical numeric character reference(十六进制实体编号)
// 示例:&#x6C34
&#xentity_number;
复制代码

  实体名好处是便于记忆,但不一定所有浏览器能识别所有实体名。

  而所有浏览器均能识别所有的实体编号。

  注意:实体名是大小写敏感的哦!

 

三、3种实体类型                                     

  实体分为ASCII实体、字符实体和符号实体。具体请参考HTML ISO-8859-1 参考手册XHTML Character Entity Reference

  对于每个实体的使用请参考@张鑫旭的《web页面相关的一些常见可用字符介绍》,这里就借用一下关于空格符部分的内容。

  &nbsp; ,不是space键产生的空格。宽度受到字体的影响。代表non-breaking space(不间断空白),严格语义上是使用场景不希望自动换行时使用,但浏览器会合并多个半角空格(\u0020,由space键产生的空格),因此我们习惯用&nbsp(unicode为\u00A0)来描述多个空格。

  &ensp; ,1/2个中文字符宽度,且宽度不受字体的影响。

  &emsp; ,1个中文字符宽度,且宽度不受字体的影响。

  &thinsp; ,1/15个em宽度的space,在标准的情况下差不多1px,有时候指1/16em,参考http://en.wikipedia.org/wiki/Thin_space

  题外话:全角空格的unicode为\u3000。

  

四、通过outerHTML,innerHTML,innerText,textContent和value操作实体 

  首先我们需要将3种实体类型分成两类,ASCII实体为一类,字符实体和符号实体为一类。

  对于ASCII实体

     1. 非表单元素的outerHTML和innerHTML只能获取实体名或实体编号;

     2. IE/Chrome下非表单元素的innerText可获取对应的字符;

     3. IE9+/FF/Chrome的非表单元素的textContent可获取对应的字符;

     4. textarea的value可获取对应的字符。

  对于字符实体和符号实体

     只能获取对应的字符,无法直接获取实体名和实体编号。

 

五、总结                                  

  若有纰漏请大家指正,谢谢。

  尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/4319483.html ^_^肥仔John

如果您觉得本文的内容有趣就扫一下吧!捐赠互勉!

分类: JavaScript
1
0
« 上一篇: CSS魔法堂:再次认识font
» 下一篇: JS魔法堂:被玩坏的innerHTML、innerText、textContent和value属性
posted @ 2015-03-07 01:17 ^_^肥仔John 阅读( 1363) 评论( 2) 编辑 收藏
  
#1楼 2015-03-09 15:10 firstrose  
&thinsp;的含义见

http://en.wikipedia.org/wiki/Thin_space

1/15个em宽度的space,在标准的情况下差不多1px,有时候指1/16em

至于为什么一般是1/15而不是1/16,没想通
  
#2楼 [ 楼主] 2015-03-09 21:29 ^_^肥仔John  
@ firstrose
谢谢补充^_^
相关文章
|
7月前
|
JavaScript 前端开发
用JavaScript正则表达式匹配对应字符串高亮显示,并过滤掉空格、<、>等HTML节点符号
用JavaScript正则表达式匹配对应字符串高亮显示,并过滤掉空格、<、>等HTML节点符号
|
2月前
|
前端开发 JavaScript 安全
前端JS实现密码校验键盘横竖、26字母、相同字母、相同数字、密码包含用户名、数字 字母不能连续 不能相同三个、不能横向 竖向 连续三个 包含字符、不能有中文符号
该 JavaScript 代码实现了一个严格的密码校验功能,确保密码满足多种安全要求,包括长度、字符类型、不包含中文及特殊字符、不与用户名相似等。通过多个辅助函数,如 `validateFormat` 检查密码格式,`isHasChinaCharFun` 检测中文符号,`getCharAll` 生成键盘组合,以及 `checkPasswordFun` 综合验证密码的有效性和安全性。此工具对于提高用户账户的安全性非常有用。
37 0
用html+javascript打造公文一键排版系统14:为半角和全角字符相互转换功能增加英文字母、阿拉伯数字、标点符号、空格选项
用html+javascript打造公文一键排版系统14:为半角和全角字符相互转换功能增加英文字母、阿拉伯数字、标点符号、空格选项
|
3月前
|
存储 文字识别 前端开发
用html+javascript打造公文一键排版系统13:增加半角字符和全角字符的相互转换功能
用html+javascript打造公文一键排版系统13:增加半角字符和全角字符的相互转换功能
|
3月前
|
JavaScript 前端开发 安全
JavaScript编程实现字符和字符串翻转
JavaScript编程实现字符和字符串翻转
|
5月前
|
JavaScript
js 判断字符串是否包含中文,判断字符串是否全是中文,判断字符是否为中文
js 判断字符串是否包含中文,判断字符串是否全是中文,判断字符是否为中文
255 0
|
6月前
|
JavaScript 前端开发
JS中判断一个字符串中出现次数最多的字符,统计这个次数?
JS中判断一个字符串中出现次数最多的字符,统计这个次数?
45 0
|
7月前
|
前端开发 JavaScript 数据安全/隐私保护
前端 JS 经典:零宽字符
前端 JS 经典:零宽字符
126 0
|
7月前
编程笔记 html5&css&js 019 HTML实体
编程笔记 html5&css&js 019 HTML实体
|
7月前
|
JavaScript 前端开发
js实用好用的一些符号 ,你准没用过
js实用好用的一些符号 ,你准没用过