您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

常用DOM整理_javascript技巧

2024/3/4 21:56:44发布22次查看
前言:
html为document搭建了一棵dom树,这棵树就是有一系列node节点所构成的。他为我们定义了文档的结构。
node类型:
node.element_node(1);      //元素节点较常用
node.attribute_node(2);    //属性节点较常用
node.text_node(3);          //文本节点较常用
node.cdata_section_node(4);
node.entity_reference_node(5);
node.entity_node(6);
node.processing_instruction_node(7);
node.comment_node(8);
node.document_node(9);   //文档节点较常用
node.document_type_node(10);
node.document_fragment_node(11);
node.notation_node(12);
相关函数:
1、取得节点:
document.getelementbyid('element');
 document.getelementsbytagname('element');         返回类数组对象
 document.getelementsbyname('element');            返回类数组对象
 document.getelementsbyclassname('classname')      返回类数组对象,ie7及以下并不支持;
 document.queryselectorall('class' | 'element')    返回类数组对象
2、遍历节点
查找子节点:element.childnodes        返回类数组对象
 查找第一个子节点:element.firstchild
 查找最后一个子节点:element.lastchild
 查找父元素:element.parentnode
 查找前一个兄弟元素: element.previoussibling
 查找后一个兄弟元素: element.nextsibling
3、获取节点信息
获取元素或者属性节点的标签名称:elementnode.nodename
 获取文本节点的内容:    textnode.nodevalue;
 获取并设置元素节点的内容(可能会包含html标签):  elementnode.innerhtml
 获取并设置元素节点的纯文本内容:element.innertext(ie) | element.textcontent(ff) 
 获取属性节点的值:      attrnode.getattribute(attrname);
 设置属性节点的值:      attrnode.setattribute(attrname,attrvalue);
 获取节点的类型:        node.nodetype;
  元素节点: 1;
  属性节点: 2;
  文本节点: 3;
  文档节点: 9;
  注释节点: 8;
4、操作节点
创建元素节点:       document.createelement('element');
 创建文本节点:       document.createtextnode('text');
 创建属性节点:       document.createattribute('attribute');
 删除节点:               node.remove();
 删除子节点:           parentnode.removechild(childnode);
 插入节点:               parentnode.appendchild(childnode);  //插入到父节点的尾部
                             parentnode.insertbefore(newnode,existingnode)  //插入到已存在节点的前面;
 克隆节点:               node.clonenode([true])     //传入true为深度复制
 替换节点:               parentnode.replacechild(newnode,oldnode);
相关拓展:
1、由于ie低版本浏览器和其他浏览器在处理dom中存在不兼容,因此要做一些简单的封装处理。
//=================function getelementchildren(element) { var children = [], oldchildnodes = element.childnodes; for(var i=0, len=oldchildnodes.length; i 2、操作dom元素的样式
//=========================function getelementstyle(element,stylename) { if(typeof getcomputedstyle != 'undefined') { return getcomputedstyle(element,null)[stylename]; } else { return element.currentstyle[stylename]; }} //==========================function addclass(element,classname) { element.classname += classname;} //==========================function removeclass(element,removeclassname) { var classstr = element.classname; element.classname = classstr.replace(removeclassname,'').split(/\s+/).join(' ').replace(/^\s+/,'').replace(/\s+$/,'');}
以上所述就是本文的全部内容了,希望大家能够喜欢。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product