js中的DOM操作(1)

一、操作子节点


  • childNodes

  通过该方式可以获取父节点下的所有子节点,但是由于浏览器的差异,这写节点中可能包含文本节点。

<!DOCTYPE html>
<html>
<head>
    <title>json</title>
    <script type="text/javascript">
    window.onload = function (){
        var oUl = document.getElementById(‘ul1‘);
        alert(oUl.childNodes.length);
    }
    </script>
</head>
<body>
<ul id="ul1">
    <li></li>
    <li></li>
</ul>
</body>
</html>

我们通过浏览器打开上面的代码会发现提示框是5。这是因为 ul 标签中的空白处可以被视为文本节点。如果只直接访问 li 节点则需要进行节点类型判断。

<!DOCTYPE html>
<html>
<head>
    <title>json</title>
    <script type="text/javascript">
    window.onload = function (){
        var j=0;
        var node;
        var oUl = document.getElementById(‘ul1‘);
        for(i=0; i<oUl.childNodes.length; i++){
            //1表示该节点是一个元素节点
            if(oUl.childNodes[i].nodeType == 1)
                j++;
        }
        alert(j);
    }
    </script>
</head>
<body>
<ul id="ul1">
    <li></li>
    <li></li>
</ul>
</body>
</html>
  • children

  通过该方法可以直接获取父节点下的元素节点

<!DOCTYPE html>
<html>
<head>
    <title>json</title>
    <script type="text/javascript">
    window.onload = function (){
        var oUl = document.getElementById(‘ul1‘);
        alert(oUl.children.length);
        oUl.children[0].style.background = "red";
    }
    </script>
</head>
<body>
<ul id="ul1">
    <li></li>
    <li></li>
</ul>
</body>
</html>

二、操作父节点


  • parentNode

<!DOCTYPE html>
<html>
<head>
    <title>json</title>
    <script type="text/javascript">
        window.onload = function(){
        var oAs = document.getElementsByTagName(‘a‘);
        for(var i=0; i<oAs.length; i++){
            oAs[i].onclick = function (){
                this.parentNode.style.display = "none";
            };
        }
        }
    </script>
</head>
<body>
<ul id="ul1">
    <li><a href ="javascript:void(0);">隐藏</a></li>
    <li><a href="javascript:void(0);">隐藏</a></li>
</ul>
</body>
</html>

通过上面的方式可以让父节点隐藏

  • offsetParent

  寻找脱离文档流的父节点(使用了绝对定位或相对定位的父节点)

<!DOCTYPE html>
<html>
<head>
    <title>json</title>
    <script type="text/javascript">
        window.onload = function(){
            var oDiv = document.getElementById(‘div2‘);
            oDiv.offsetParent.style.backgroundColor="yellow";
        }
    </script>
    <style type="text/css">
        #div1{
            width: 100px;
            height: 100px;
            background-color: red;
            position: relative;
        }

        #div2{
            width: 100px;
            height: 100px;
            position: absolute;
            top: 20px;
            left: 20px;
            background-color: blue;
        }
    </style>
</head>
<body>
<div id="div1">
    <div id="div2"></div>
</div>
</body>
</html>

如果去掉#div1中的position属性,则整个body的背景会变为黄色,如果不去则只有div1的背景是黄色

时间: 2024-08-07 21:19:44

js中的DOM操作(1)的相关文章

js中的DOM操作(一)——查看及设置节点

一.前言 DOM 是 W3C(World Wide Web Consortium)标准.同时也 定义了访问诸如 XML 和 HTML 文档的标准: DOM是一个使程序和脚本有能力动态地访问和更新文档的内容.结构以及样式的平台和语言中立的接口. 在HTML和JavaScript的学习中,DOM操作可谓时重中之重.今天,小编就领着大家来看看DOM操作是个什么样子!! 二.DOM节点  DOM节点分为三大类:元素节点.属性节点.文本节点: 而我们心心念念想知道的DOM树就长酱紫!          

JS中的DOM操作和事件

[DOM树节点] DOM节点分为三大类: 元素节点. 属性节点. 文本节点: 文本节点.属性节点属于元素节点的子节点.操作时,均需要先取到元素节点,再操作子节点: 可以使用getElement系列方法,取到元素节点. [查看元素节点] 1.getElementById:通过id取到唯一节点.如果ID重名,只能取到第一个. getElementsByName(): 通过name属性   getElementsByTagName(): 通过标签名   getElementsByClassName()

JS中的DOM操作怎样添加、移除、移动、复制、创建和查找节点

DOM操作怎样添加.移除.移动.复制.创建和查找节点? (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点 (2)添加.移除.替换.插入 appendChild() removeChild() replaceChild() insertBefore() //在已有的子节点前插入一个新的子节点 (3)查找 getElementsByTagName(

JS中的DOM操作

一.DOM的创建 DOM节点(Node)通常对应于一个标签.一个文本.或者一个HTML属性.DOM节点有一个noteType属性用来表示当前元素的类型,它是一个整数: 1. Element, 元素 2. Attribite, 属性 3. Text,文本 DOM节点创建最常用的便是document.createElement和document.createTextNode方法: var node1 = document.createElement('div'); var node2 = docum

js中的DOM操作汇总

一.DOM创建 DOM节点(Node)通常对应于一个标签,一个文本,或者一个HTML属性.DOM节点有一个nodeType属性用来表示当前元素的类型,它是一个整数: 1.Element,元素2.Attribute,属性3.Text,文本DOM节点创建最常用的便是document.createElement和document.createTextNode方法: var node1 = document.createElement('div');var node2 = document.create

HTML5移动开发之路(36)——jQuery中的DOM操作

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(36)--jQuery中的DOM操作 1.查询 利用选择器查找节点 使用 html() / text() / attr() 输出节点文本和属性值. 注意:下拉列表使用 val() [html] view plain copy print? <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery

第三章(jQuery中的DOM操作)

3.1 DOM 操作分类 ①DOM Core 包括(getElementById() , getElementsByTagName() , getAttribute() , setAttribute() ) //获取表单对象 docuement.getElementsByTagName("form"); //获取某元素的src属性 element.getAttribute("src"); ②HTML DOM 专属HTML_DOM属性,提供一些更简明的记号来描述各种H

dom core,html dom,css dom,jquery 中的dom操作

前端开发中为达到某种目的,往往有很多方法:dom core,html dom,jquery; dom core/jquery主要通过函数调用的方式(getAttribute("属性名")/attr("属性名"))获取属性值, html dom一般利用属性的形式(element.属性名)获取对应属性值,形式相对简洁.此外,针对于css相关的对象,还有css dom 前端开发中的节点有三种:元素节点:文本节点和属性节点 js一般对于dom core和html dom都支

JS中获取 DOM 元素的绝对位置实例详解

在操作页面滚动和动画时经常会获取 DOM 元素的绝对位置,例如 本文 左侧的悬浮导航,当页面滚动到它以前会正常地渲染到文档流中,当页面滚动超过了它的位置,就会始终悬浮在左侧. 本文会详述各种获取 DOM 元素绝对位置 的方法以及对应的兼容性.关于如何获取 DOM 元素高度和滚动高度,请参考视口的宽高与滚动高度 一文. 概述 这些是本文涉及的 API 对应的文档和标准,供查阅: API 用途 文档 标准 offsetTop 相对定位容器的位置 MDN CSSOM View Module clien