js操作DOM

创建dom

//创建一个li标签
var oLi = document.createElement("li");
//父.appendChild(oLi);插到后面的位置(变成最后一个子节点)
//兄弟.insertBefore(oLi);插到这个兄弟节点之前

删除一个dom

//父.removeChild(oLi)
.parentNode()

文档碎片增快速度

var fragment = document.createDocumentFragment();

var oLi = document.createElement("li");
oLi.innerHTML = "Xujiguang";
//oLi.innerText = "xu";
fragment.appendChild(oLi); //然后把fragment加到父节点

dom节点

  • 父节点
  • 子节点
oUl.childNodes //获取子节点,只是子一层,在firefox中空行也会算子节点(文本节点)
//获取节点种类
document.body.childNodes[0].NodeType
// 3  -- 文本节点
//1   -- 元素节点
//火狐中获取子节点要和NodeType结合才能正确的获取子节点
//
oUl.children   //获取子节点(一层),不算文本节点childNodes的兼容版本
//
oLi.parentNode //获取父节点
//
//隐藏节点
this.parentNode.style.display = none; 

offsetParent

ps:小知识
position:absolute 从文档流中脱出,根据left,right,top,buttom进行定位
(相对于 static 定位以外的第一个父元素进行定位)
//
position:relative  对象不可层叠,但将依据left,right,top,bottom等属性
              在正常文档流中偏移位置(相对于自身在原来的文档呢流中的位置)

offsetParent获取相对定位的父对象

继续子节点

var oCh = oUl.firstElementChild || oUl.firstChild
var oCh = oUl.lastElementChild || oUl.lastChild

兄弟节点

oLi.previousSibling || oLi.previousElementSibling
//
oLi.nextSibling || oLi.nextElemetnSibling

操纵元素属性

//
oIn.value = "123"; //设置表单控件的value
//
oIn["value"] = "123";
//
oIn.setAttribute("value", "xujiguagn");
//获取元素属性
var v = oIn.getAttribute("id");

//删掉元素属性
oIn.removeAttribute("class");

//
oIn.style.display = "none";
oIn.style["display"] = "none";

通过class选取元素

function getByClass(oParent, sClass) {
  var aEle = oParent.getElementsByTagName("*");
  var aReault = [];
  for (var i = 0; i< aEle.length; i++) {
    if(aEle[i].className == sClass) {
      aResult.push(aEle[i]);
    }
  }
}

js事件

//window的事件包括onload、onscroll、onresize
//其他的事件
window.open("www.baidu.com", "_self"); //可以指定在哪个frame打开,默认_blank
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.DOM基础 什么是DOM :document ,节点! 其实说的都是一个东西, CSS时管叫标签, JS时管叫...
    壹点微尘阅读 446评论 0 0
  • 本章内容 理解包含不同层次节点的 DOM 使用不同的节点类型 克服浏览器兼容性问题及各种陷阱 DOM 是针对 HT...
    闷油瓶小张阅读 668评论 0 1
  • 原文 链接 关注公众号获取更多资讯 一、基本类型介绍 1.1 Node类型 DOM1级定义了一个Node接口,该接...
    前端进阶之旅阅读 3,967评论 7 34
  • 我想任何人都知道,每一天的时间都是多么的重要和珍贵,但是大部分还是浑浑噩噩的生活着。不知道自己做的工作什么时候是个...
    燕Annie阅读 180评论 2 0
  • 真希望生活是个遥控器,就可以播放轻松日子,暂停快乐时光,快进坎坷挫折,重复美好回忆。
    220d64285ade阅读 222评论 0 0