html嵌套规则

本人半路出家的  今天学习js的时候写了一个a嵌套a标签结果js报错 一直找不到原因 专门找了一下html嵌套规则看了一下

 1    1、块级元素
 2 
 3   一般用来搭建网站架构、布局、承载内容……它包括以下这些标签:
 4 
 5   address、blockquote、center、dir、div、dl、dt、dd、fieldset、form、h1~h6、hr、isindex、menu、noframes、noscript、ol、p、pre、table、ul
 6 
 7   2、内嵌元素
 8 
 9   一般用在网站内容之中的某些细节或部位,用以“强调、区分样式、上标、下标、锚点”等等,下面这些标签都属于内嵌元素:
10 
11   a、abbr、acronym、b、bdo、big、br、cite、code、dfn、em、font、i、img、input、kbd、label、q、s、samp、select、small、span、strike、strong、sub、sup、textarea、tt、u、var
12 
13   二、HTML 标签的嵌套规则
14 
15   1. 块元素可以包含内联元素或某些块元素,但内联元素却不能包含块元素,它只能包含其它的内联元素:
16 
17   <div><h1></h1><p></p></div> —— 对
18 
19   <a href=”#”><span></span></a> —— 对
20 
21   <span><div></div></span> —— 错
22 
23   2. 块级元素不能放在<p>里面:
24 
25   <p><ol><li></li></ol></p> —— 错
26 
27   <p><div></div></p> —— 错
28 
29   3. 有几个特殊的块级元素只能包含内嵌元素,不能再包含块级元素,这几个特殊的标签是:
30 
31   h1、h2、h3、h4、h5、h6、p、dt
32 
33   4. li 内可以包含 div 标签 —— 这一条其实不必单独列出来的,但是网上许多人对此有些疑惑,就在这里略加说明:
34 
35   li 和 div 标 签都是装载内容的容器,地位平等,没有级别之分(例如:h1、h2 这样森严的等级制度^_^),要知道,li 标签连它的父级 ul 或者是 ol 都 可以容纳的,为什么有人会觉得 li 偏偏容纳不下一个 div 呢?别把 li 看得那么小气嘛,别看 li 长得挺瘦小,其实 li 的胸襟很大 滴……
36 
37   5. 块级元素与块级元素并列、内嵌元素与内嵌元素并列:
38 
39   <div><h2></h2><p></p></div> —— 对
40 
41   <div><a href=”#”></a><span></span></div> —— 对
42 
43   <div><h2></h2><span></span></div> —— 错
  1. 块元素(block element)   
  2.   
  3.   * address - 地址   
  4.   * blockquote - 块引用   
  5.   * center - 举中对齐块   
  6.   * dir - 目录列表   
  7.   * div - 常用块级容易,也是css layout的主要标签   
  8.   * dl - 定义列表   
  9.   * fieldset - form控制组   
  10.   * form - 交互表单   
  11.   * h1 - 大标题   
  12.   * h2 - 副标题   
  13.   * h3 - 3级标题   
  14.   * h4 - 4级标题   
  15.   * h5 - 5级标题   
  16.   * h6 - 6级标题   
  17.   * hr - 水平分隔线   
  18.   * isindex - input prompt   
  19.   * menu - 菜单列表   
  20.   * noframes - frames可选内容,(对于不支持frame的浏览器显示此区块内容   
  21.   * noscript - 可选脚本内容(对于不支持script的浏览器显示此内容)   
  22.   * ol - 排序表单   
  23.   * p - 段落   
  24.   * pre - 格式化文本   
  25.   * table - 表格   
  26.   * ul - 非排序列表   
  27.   
  28. 内联元素(inline element)   
  29.   
  30.   * a - 锚点   
  31.   * abbr - 缩写   
  32.   * acronym - 首字   
  33.   * b - 粗体(不推荐)   
  34.   * bdo - bidi override   
  35.   * big - 大字体   
  36.   * br - 换行   
  37.   * cite - 引用   
  38.   * code - 计算机代码(在引用源码的时候需要)   
  39.   * dfn - 定义字段   
  40.   * em - 强调   
  41.   * font - 字体设定(不推荐)   
  42.   * i - 斜体   
  43.   * img - 图片   
  44.   * input - 输入框   
  45.   * kbd - 定义键盘文本   
  46.   * label - 表格标签   
  47.   * q - 短引用   
  48.   * s - 中划线(不推荐)   
  49.   * samp - 定义范例计算机代码   
  50.   * select - 项目选择   
  51.   * small - 小字体文本   
  52.   * span - 常用内联容器,定义文本内区块   
  53.   * strike - 中划线   
  54.   * strong - 粗体强调   
  55.   * sub - 下标   
  56.   * sup - 上标   
  57.   * textarea - 多行文本输入框   
  58.   * tt - 电传文本   
  59.   * u - 下划线   
  60.   * var - 定义变量   
  61.   
  62. 可变元素   
  63.   
  64.   可变元素为根据上下文语境决定该元素为块元素或者内联元素。   
  65.   * applet - java applet   
  66.   * button - 按钮   
  67.   * del - 删除文本   
  68.   * iframe - inline frame   
  69.   * ins - 插入的文本   
  70.   * map - 图片区块(map)   
  71.   * object - object对象   
  72.   * script - 客户端脚本  
原文地址:https://www.cnblogs.com/lyWebstrat/p/6840709.html