Ruby's Louvre

每天学习一点点算法

导航

再识ASCII实体、符号实体和字符实体

一、前言                                         

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

 

二、初识HTML实体                                                                 

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

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

// 实体名
&entity_name;

// 实体编号
&#entity_number;

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

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

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

 

三、3种实体类型                                     

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

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

  &nbsp; ,就是space键产生的空格。宽度受到字体的影响,而且在inline-block布局中会搞破坏,但在两端对齐布局中由必不可少。

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

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

  &thinsp; ,不知有啥用的空格符。

  

四、通过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

posted on 2015-03-08 11:19  司徒正美  阅读(1841)  评论(1编辑  收藏  举报