@ dom操作?
文档对象模型( 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( ame属性值);
返回拥有指定名称的对象结合
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 );
给元素增加指定属性,并设定属性值
@ id是什么类型的选择器?
id是css的唯一选择器,使用ID选择器,必须给标签添加上id属性,为标签设置id="ID名称"。
@ 为什么网页中ID属性用得越来越少?
偶来说说偶得看法吧,首先第一点,这两个效果是一样的,ID与Class的区别在于你用的时机,假设大家要做一个公共组件进行代码动态渲染并进行复用,那么大家必定不会去选择ID,因为大家在页面渲染中难免会碰到遍历,和公共样式,所以用class是最好的方案,而且维护成本也是最低。第二点,ID并不是一定比class复杂,同样举个例子,大家在给一个页面定义多个组件(同样使用公共组件new方法),这时候大家为了保证不同组件的唯一性,大家需要为添加的dom或者称之为component添加一个Math.random()随机的id号码,其他部分大家用class来完成,这样大家既保证了代码的可维护性,也保证了不同component的唯一性。最后总结一下,其实id的样式表会造成css表中不可复用的问题,除非使用组合,所以现在大部分都会用class,但是id也很多哦,看大家需求是什么了~
–来自正在求职的自学小渣渣一枚