文档对象模型( DOM, Document Object Model )主要用于对HTML和XML文档的内容进行操作。DOM描绘了一个层次化的节点树,通过对节点进行操作,实现对文档内容的添加、删除、修改、查找等功能。
一、DOM树
DOM树有两种,分别为节点树和元素树。
节点树:把文档中所有的内容都看成树上的节点;
元素树:仅把文档中的所有标签看成树上的节点。
二、DOM常用操作
2.1 查找节点
document.getElementById('id属性值');
返回拥有指定id的第一个对象的引用
document/element.getElementsByClassName('class属性值');
返回拥有指定class的对象集合
document/element.getElementsByTagName('标签名');
返回拥有指定标签名的对象集合
document.getElementsByName('name属性值');
返回拥有指定名称的对象结合
document/element.querySelector('CSS选择器');
仅返回第一个匹配的元素
document/element.querySelectorAll('CSS选择器');
返回所有匹配的元素
document.documentElement
获取页面中的HTML标签
document.body
获取页面中的BODY标签
document.all['']
获取页面中的所有元素节点的对象集合型
2.2 新建节点
document.createElement('元素名');
创建新的元素节点
document.createAttribute('属性名');
创建新的属性节点
document.createTextNode('文本内容');
创建新的文本节点
document.createComment('注释节点');
创建新的注释节点
document.createDocumentFragment( );
创建文档片段节点
2.3 添加新节点
parent.appendChild( element/txt/comment/fragment );
向父节点的最后一个子节点后追加新节点
parent.insertBefore( newChild, existingChild );
向父节点的某个特定子节点之前插入新节点
element.setAttributeNode( attributeName );
给元素增加属性节点
element.setAttribute( attributeName, attributeValue );
给元素增加指定属性,并设定属性值
答案是星星选择标签。
因为星号选择器的定义是用于选择html中的所有标签,在一个页面中我们都会选择去掉html所有标签的默认样式,然后根据自己的需求添加样式,这个时候就需要使用*选择标签。
另外一个*选择标签也可以搭配到其他的标签进行使用,用来选择表示某个父元素下面的所有子元素标签。
一、网页制作中规范使用DIV+CSS命名规则,可以改善优化功效特别是团队合作时候可以提供合作制作效率。
所有的命名最好都小写
属性的值一定要用双引号("")括起来,且一定要有值如class="DIVcss",id="divcss"
每个标签都要有开始和结束,且要有正确的层次,排版有规律工整
空元素要有结束的tag或于开始的tag后加上"/"
表现与结构完全分离,代码中不涉及任何的表现元素,如style、font、bgColor、border等
<h1>到<h5>的定义,应遵循从大到小的原则,体现文档的结构,并有利于搜索引擎的查询。
给每一个表格和表单加上一个唯一的、结构标记id
给图片加上alt标签
尽量使用英文命名原则
尽量不缩写,除非一看就明白的单词
二、相对网页外层重要部分CSS样式命名:
外套 wrap ----------------用于最外层
头部 header --------------用于头部
主要内容 main ------------用于主体内容(中部)
左侧 main-left ------------左侧布局
右侧 main-right -----------右侧布局
导航条 nav -----------------网页菜单导航条
内容 content ---------------用于网页中部主体
底部 footer -----------------用于底部
DIV+CSS命名小结:
无论是使用“.”(小写句号)选择符号开头命名,还是使用“#”(井号)选择符号开头命名都无所谓,但我们最好遵循。
主要的、重要的、特殊的、最外层的盒子用“#”(井号)选择符号开头命名,其它都用“.”(小写句号)选择符号开头命名,同时考虑命名的CSS选择器在HTML中重复使用调用。
通常我们最常用主要命名有:
wrap(外套、最外层)、header(页眉、头部)、nav(导航条)、menu(菜单)、title(栏目标题、一般配合h1\h2\h3\h4标签使用)
、content (内容区)、footer(页脚、底部)、logo(标志、可以配合h1标签使用)、banner(广告条,一般在顶部)、copyRight(版权)。
ID用于标识页面上的特定元素(比如站点导航),而且必须是唯一的。 ID也可以用来标识持久的结构性元素,例如主导航或内容区域。ID还可以用来标识一次性元素,例如某个链接或表单元素。一个ID只能应用于页面上的一个元素。
class同一个类名可以应用于页面上任意多个元素,因此类的功能强大的多。类非常适合表示内容的类型或其他相似的条目。
在实际开发中,要根据实际使用情况来决定是使用哪种样式。对于单一元素的在单一界面的展示样式可以推荐是用id来定位。多余多个界面公用,或者同一界面多个元素风格一致,样式统一使用class类要方便的多。
下面就是最简单的一个小例子:
展示效果: