JavaScript操作节点

2018年4月22日星期日

节点的属性

previousSibling 属性返回同一树层级中指定节点的前一个节点。

被返回的节点以 Node 对象的形式返回。

注释:如果没有 previousSibling 节点,则返回值是 null。

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>访问节点</title>
    <link rel="stylesheet" href="css/newStyle.css">
</head>
<body>
<section id="news">
    <header>京东快报 <a href="#">更多</a></header>
    <ul>
        <li>
            <a href="#">新闻头条No1</a>
        </li>
        <li>
            <a href="#">新闻头条No2</a>
        </li>
        <li>
            <a href="#">新闻头条No3</a>
        </li>
        <li>
            <a href="#">新闻头条No4</a>
        </li>
    </ul>
</section>

<script>

var sec = document.getElementById("news");
    var le = sec.childNodes.length;
    var str = sec.lastChild.previousSibling;   //取得最后一个节点
//    str = str.innerHTML;
   
var str2 = str.nextElementSibling || str.nextSibling;

alert(le);
    alert(str2);

</script>
</body>
</html>

节点信息

nodeName

节点名称

nodeValue

节点值

nodeType

节点类型

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>节点信息</title>
</head>
<body>
<ul id="nodeList">
    <li>nodeName</li>
    <li>nodeValue</li>
    <li>nodeType</li>
</ul>
<p></p>
<script>
    var nodes = document.getElementById("nodeList");
    var type = nodes.firstChild.nodeType;
    var name = nodes.firstChild.nodeName;
    var str = nodes.firstChild.nodeValue;
    document.getElementsByTagName("p")[0].innerHTML = "type1-" + type1+"<br/>"
   
+"name-" + name +"<br/>"+"Value-" + str;
</script>
</body>
</html>

操作节点一

getElementsByName(节点名); 通过这种方式取得节点对象
getElementById (节点名); 通过这种方式取得节点对象

设置节点

对象名. setAttribute("节点名","要设置的值");

示例:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>选择你喜欢的书</title>
    <style>
        * {
            font-size: 12px;
            font-family: "Arial", "微软雅黑";
            line-height: 25px;
        }

div {
            padding: 5px;
            text-align: center;
        }

div span {
            display: block;
        }
    </style>
</head>
<body>
<p>选择你喜欢的书:<input type="radio" name="book" οnclick="book()">我和狗狗一起活下来
    <input type="radio" name="book" οnclick="book()">灰霾来了怎么办
</p>
<div><img src="" alt="" id="image" οnclick="img()"><span></span></div>
<script>

function book() {
        var ele =  document.getElementsByName("book");
        var img = document.getElementById("image");

if (ele[0].checked){
            img.setAttribute("src","images/dog.jpg");
            img.setAttribute("alt","我的狗狗一起活下来");
            img.nextElementSibling.innerHTML = "我和狗狗一起活下来";

;        }else if (ele[1].checked){
            img.setAttribute("src","images/mai.jpg");
            img.setAttribute("alt","灰霾来了怎么办")
//            img.nextSibling.innerHTML="灰霾来了怎么办";
           
img.nextSibling.innerHTML = "灰霾来了怎么办";
        }
    }
    function img() {
        var img = document.getElementById("image");

alert(img.getAttribute("alt") + img.getAttribute("src"));
    }
</script>
</body>
</html>

操作节点二

document.createElement("节点名称"); 创建一个节点

cloneNode() 创建节点的拷贝,并返回该副本。 如果参数是true 则克隆所有有关这个节点的后代

insertBefore()在指定的已有子节点之前插入新的子节点

示例:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>选择你喜欢的书</title>
    <style>
        *{font-size: 12px; font-family: "Arial", "微软雅黑"; line-height: 25px;}
        div{padding: 5px; text-align: center;
        }
        div span{display: block;}
    </style>
</head>
<body>
<p>选择你喜欢的书:<input type="radio" name="book" οnclick="book()">我和狗狗一起活下来
    <input type="radio" name="book" οnclick="book()">灰霾来了怎么办</p>
<div></div>
<script>
    function book() {
        //取得name为book的对象
       
var ele = document.getElementsByName("book");
        //取得div的第0个元素
       
var domDiv = document.getElementsByTagName("div")[0];

if (ele[0].checked){
            //创建一个节点
           
var img = document.createElement("img");
            //给这个节点设置src的内容
           
img.setAttribute("src","images/dog.jpg");
            //给div添加这个节点
           
domDiv.appendChild(img);
        }if(ele[1].checked){
            var img = document.createElement("img");
            img.setAttribute("src","images/mai.jpg");
            img.setAttribute("onclick","copyNode()");
            domDiv.appendChild(img);
        }
    }

function copyNode() {
        //取得第1个节点元素
       
var domDiv = document.getElementsByTagName("div")[0];
        //cloneNode() 创建节点的拷贝,并返回该副本。如果参数是true 则克隆所有有关这个节点的后代
       
var newDom = domDiv.lastChild.cloneNode(false);
        //insertBefore()在指定的已有子节点之前插入新的子节点
       
domDiv.insertBefore(newDom,domDiv.firstChild);
    }
</script>
</body>
</html>

操作节点三

parentNode属性以 Node 对象的形式返回指定节点的父节点。

removeChild() 删除某个节点元素

replaceChild (新的节点,旧的节点) 替换某个节点元素

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>替换和删除节点</title>
</head>
<body>
<ul>
    <li>
        <img src="data:images/f01.jpg" id="first">
        <p><input type="button" value="删除我吧" οnclick="del()"></p>
    </li>
    <li>
        <img src="data:images/f02.jpg" id="second">
        <p><input type="button" value="换换我吧" οnclick="rep()"></p>
    </li>
</ul>
<script>
    function del() {
        //取得Id为first的节点元素
       
var oldNode = document.getElementById("first");
        //parentNode属性以 Node 对象的形式返回指定节点的父节点。
        //removeChild() 删除某个节点元素
       
oldNode.parentNode.removeChild(oldNode);
    }

function rep() {
        var oldNode = document.getElementById("second");
        var newNode = document.createElement("img");
        newNode.setAttribute("src","images/f03.jpg");
        //replaceChild (新的节点,旧的节点) 替换某个节点元素
       
oldNode.parentNode.replaceChild(newNode,oldNode);
    }
</script>
</body>
</html>

操作节点四

onmouseover 鼠标悬浮事件

onmouseout  鼠标移开事件

className  取得样式改变

document.defaultView.getComputedStyle(对象名,null).background   大部分的浏览器能够支持的取得元素样式的方式

对象名.currentStyle.background;             兼容IE的取得元素样式的方法

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>鼠标悬浮事件Demo</title>
    <link rel="stylesheet" href="css/shopping.css">
</head>
<body>
<section id="shopping">
    <div id="cart" οnmοuseοver="over()" οnmοuseοut="out()">我的购物车<span>1</span></div>
    <div id="cartList">
        <h2>最新加入的商品</h2>
        <ul>
            <li><img src="data:images/makeup.jpg"></li>
            <li>倩碧经典三部曲套装(液体皂200ml+明肌2号水200ml+润肤乳125ml)</li>
            <li>¥558.00×1<br/>删除</li>
        </ul>
        <div class="footer">共1件商品<span>共计¥558.00</span> <span>去购物车</span></div>
    </div>
</section>
<script>
    /**
     * 鼠标悬浮事件
     */
   
var cart = document.getElementById("cart");
    var cartList = document.getElementById("cartList");
    function over() {
        /*改变样式
        cart.style.background = "#ffffff";
        cart.style.zIndex = "100";
        cart.style.borderBottom = "none";
        cartList.style.display = "block";
        cartList.style.position = "relative";
        cartList.style.top = "-1px";
         */
        
cart.className = "cartOver";
        cartList.className = "cartListOver";
         }
    /**
     * 鼠标移开事件
     */
   
function out() {
        cart.className = "cartOut";
        cartList.className = "cartListOut";

/*改变样式
        cart.style.background = "#f9f9f9";
        cart.style.borderBottom = "solid 1px #dcdcdc";
        cartList.style.display = "none";
        */
   
}

     alert(document.defaultView.getComputedStyle(cartList,null).background);alert(cartList.currentStyle.background);</script></body></html>

总结

1.    操作节点的属性

2.    创建和插入节点

3.    删除和替换节点

4.    操作节点样式

5.    获取元素的样式

雀雀JavaScript操作节点相关推荐

  1. JavaScript的节点操作 —— 增加节点

    目录 JavaScript中的节点操作分为:增.删.改.查(获取),四大类型. 我们直接利用案例来学习: HTML布局代码: JavaScript代码实现: 第一步:获取所有要用到的元素对象(可以利用 ...

  2. 雀雀JavaScript基础Note2

    JavaScript基础Note2 2018年4月20日星期五 系统函数 parseInt 字符串转整形 parseFloat 字符串转浮点型 isNaN 检查是否非数字 示例: <script ...

  3. javascript中节点操作、节点属性、节点获取、创建节点、删除节点、克隆节点

    节点操作 节点操作实际是利用DOM树把节点划分为不同的层次关系,常见父子兄弟级关系 节点属性: 节点一般有三个属性:nodeType节点类型(其中元素节点值为1,属性节点值为2,文本节点值为3).no ...

  4. Javascript操作DOM常用API总结

    文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认识. 基本概念 在讲解操作DOM的api之前, ...

  5. JavaScript操作DOM对象

    目录 一.DOM操作 (一).DOM操作分类 (二).节点和节点的关系 (三).访问节点 (四).节点信息 二.操作节点 (一)操作节点的属性 (二).创建和插入节点 (三).删除和替换节点 (四). ...

  6. 【repost】Javascript操作DOM常用API总结

    Javascript操作DOM常用API总结 文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认 ...

  7. javascript操作表格案例讲解

    本案例是一个简单表格,通过javascript DOM相关技术,实现对表格的删除更改.案例代码详细的表达了思路分析,适合DOM初学者. <!doctype html> <html l ...

  8. jQuery对象,jQuery查找标签,层级选择器,属性选择器,表单筛选器,操作节点标签事件...

    目录 jQuery jQuery介绍 jQuery的优势 jQuery版本 jQuery内容: jQuery对象 jQuery基础语法 查找标签 基本选择器 层级选择器: 基本筛选器: 属性选择器 表 ...

  9. JavaScript操作DOM对象 Day05

    JavaScript操作DOM对象 0 核心 浏览器网页就是一个Dom树形结构! 获取Dom节点:得到Dom节点 更新:更新Dom节点 添加:添加一个新的节点 删除:删除一个Dom节点 要操作一个Do ...

最新文章

  1. HTMLCanvasElement.toDataURL()
  2. 为什么总线要用一根来表示一bit
  3. Matlab之Kalman:用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法
  4. SAP ABAP实用技巧介绍系列之 ABAP XSLT select keyword
  5. [爬虫-python] scrapy框架入门实例-百度贴吧
  6. 数据库比特币勒索病毒攻击警示,云和恩墨技术通讯六月刊精选
  7. [转载]AWS使用小记之EC2(Elastic Compute Cloud)
  8. 流言终结者: AWR的保留天数和SYSAUX表空间的使用率有关吗?
  9. atitit.TokenService v3 qb1  token服务模块的设计 新特性.docx
  10. RAID 的各种方案
  11. Excel Home 数据透视表初级班(10118班)小结第四课时
  12. Hazelcast Jet DAG原理
  13. opencv求矩阵的逆_使用OpenCV求模拟矩阵的逆矩阵
  14. 两种常用癌症免疫疗法CAR-T与TCR-T的联系和区别
  15. win10笔记本相机打开黑屏无法打开笔记本相机
  16. bert:pre-training of deep bidirectional transformers for language understanding
  17. Life with qmail -- 中文版(英文版本2 Jan 2006)
  18. 空洞卷积(Atrous/Dilated Convolution)
  19. JPA映射数据库mysql表名,字段名大小写转化,下划线分割.
  20. “打怪升级”,电竞浪潮中一家非典型公司的生存之道

热门文章

  1. Z-Blog支持Word一键粘贴
  2. Kotlin语言:Orient-Ui中时间轴的使用
  3. MBSE与MBD的融合
  4. http请求的几种方法
  5. SysML实践指南第二版(中文翻译:刘亚龙)第10章 基于消息的行为与交互
  6. Python 求函数极小值、极大值点
  7. java sql date 加减_Java对日期Date类进行加减运算,年份加减,月份加减
  8. python--flask框架基础知识
  9. python青少年趣味编程-青少年编程:Python趣味编程基础入门课程
  10. asp.net中的报销多级审批工作流