美文网首页
js操作DOM

js操作DOM

作者: yaya_pangdun | 来源:发表于2016-05-04 11:23 被阅读79次

创建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.js操作html 利用原生的javascript (js包括ECMAscript BOM DOM)的DOM操作...

  • JS第七天-03

    DOM DOM树结构关系代码示例: 一、JS中标签关系 二、JS操作页面标签 三、JS操作DOM一般步骤 1、创建...

  • 028 DOM

    DOM 一、JS中标签关系 二、JS操作页面标签 三、JS操作DOM一般步骤 1、创建标签 2、设置标签样式文本 ...

  • 面试中React与Vue的比对 / 面试/mvvm/virtua

    1.virtual dom 用JS模拟DOM结构,DOM变化的对比,放在JS层做,以提高重绘性能 DOM操作昂贵,...

  • web自动化_dom

    js不能直接操作html元素,比如要修改元素的样式,需要通过dom对象操作html元素js ->dom对象->调用...

  • 常用DOM操作

    前言 很多同学用惯了jquery操作dom,让他们用js操作的时候,常常力不从心,本文总结了常用的js的dom操作...

  • react基础入门:(二)原生JS操作DOM元素

    原文链接:react基础入门:(二)原生JS操作DOM元素 一 初始化项目 二 操作 DOM 获取 dom 元素 ...

  • React填坑

    Virtual Dom 在浏览器环境下,DOM操作远比JS操作开销大,且项目越复杂,DOM操作的开销越大,为了提升...

  • 2.JavaScript优化-DOM

    DOM优化 一、DOM与JavaScript 浏览器会把DOM与js独立实现-像两个独立的小岛 js操作dom-从...

  • JS异步编程

    为什么JS需要异步?JS语言设计之初,是为了能够操作浏览器DOM元素,为避免两个线程同时操作某DOM元素导致DOM...

网友评论

      本文标题:js操作DOM

      本文链接:https://www.haomeiwen.com/subject/eulmlttx.html