js对节点的操作方法

一.获取

1.父节点的获取

某节点的parentNode属性值即为该节点的父节点。示例:

var parent = document.getElementById("one").parentNode;

2.兄弟节点的获取

nextElementSibling和nextSibling属性配合使用。

某节点的nextElementSibling属性值是该节点后面紧邻的兄弟节点,但是这个有兼容性,在ie9以上版本(包含ie9)和其他浏览器,结果是我们想要的弟节点,在ie9以下的结果是文本节点,不满足我们的要求。而nextSibling属性,在ie9以下版本的结果是我们想要的弟节点,在ie9以上版本(包含ie9)和其他浏览器结果是文本节点,和nextElementSibling刚好相反。可以通过配合使用这两个属性来满足需求。示例:

var one = document.getElementById("one");

var oneNextNode = one.nextElementSibling || one.nextSibling;

与后面紧邻的兄弟节点对应的是前面紧邻的兄弟节点,previousElementSibling和previousSibling配合使用即可获得。示例:

var one = document.getElementById("one");

var onePreNode = one.previousElementSibling || one.previousSibling;

3.子节点的获取

某节点的children属性值就是该元素的所有的元素子节点。示例:

var one = document.getElementById("one");

var sons = one.children;

二.节点的添加、删除、克隆方法

1.子节点的添加

添加子节点的思路是先创建一个节点,然后添加到指定位置即可。

创建节点的方法是固定的,利用document.createElement(xxx)方法,传入元素名即可创建一个指定元素名的元素。

如 var newDiv=document.createElement("div");

把节点插入到父节点中有两种方法appendChild()和insertBefore()。

appendChild()方法由父节点调用,参数传一个待插入到父节点的子节点,这种方法会把该子节点插入到父节点的最后面,也就是说插入操作完成后这个子节点会是最后的子节点。示例:

var one = document.getElementById("one");

var newDiv  = document.createElement("div");

one.appendChild(newDiv);

insertBefore()方法也是由父节点调用,可以把一个子节点插入到我们指定的位置。方法有两个参数,第一个参数是要插入的子节点,第二个参数就是我们指定的、将要在其前面插入节点的子节点。特殊的,如果第二个参数传null,则效果等同于appendChild(),即将把新的子节点插入到最后。示例:

var one = document.getElementById("one");//此处one是父节点,如果不好直接获得的话,也可以通过子节点的parentNode获得

var newDiv = document.createElement("div");

one.insertBefore(newDiv , one.children[0]);

2.子节点的删除

对应的方法是removeChild(),由父节点调用,参数传要删除的子节点。示例:

var one = document.getElementById("one");//此处one是父节点

one.removeChild(one.children[0]);

3.节点的复制

对应的方法是cloneNode(),由要复制的节点调用,方法可以传一个布尔型参数,如果传true的话,表示不仅仅会复制选定的节点,也会复制此节点的所有子节点;如果传false或者不传的话,则仅会复制该节点。复制节点一般不会单独使用,不会单纯为了复制而复制,复制出来后得放到某个位置啊,所以一般会结合添加节点使用。示例:

var divs = document.getElementByTagName("div");

var cloneDiv  = divs[0].cloneNode();

document.getElementById("one").parentNode.appendChild(cloneDiv);

jquery对节点的操作方法

1.获取父节点:parent()方法

2.获取所有子节点:children()方法

1.创建节点,先写好html内容,然后直接用$()包裹就好,注意到时候把html内容中的双引号变成单引号。示例:

var $newDiv = $("<div id='two'></div>");

2.复制节点:clone()方法,由要复制的节点对应的jQuery对象调用,参数可传一个布尔值,true表示连带着子节点也一起复制,false或不传表示不复制子节点。示例:

$("#two").clone();

2.向某节点内部的最后添加节点,使添加的节点成为原来节点的最后一个子节点:append()方法,由父节点对应的jQuery对象调用,参数是子节点对应的jQuery对象。示例:

$("#one").append($newDiv);

与之能达到相同目的的方法是appendTo(),把某一个节点添加到某个节点内部的最后面。和append()方法相比,只是调用者和参数调换了一下而已。示例:

$newDiv.appendTo($("#one"));

3.prepend()、prependTo(),使用同append()、appendTo()一样,只是把最后面变成最前面。

4.在某节点的后面添加节点,使新添加的节点成为原来节点的弟节点:after()方法,由兄节点调用,参数是弟节点。示例:

$("#bigBro").after($("#littleBro"));

与之能达到相同目的的方法是insertAfter(),把某一个节点添加到某个节点的后面。和after()方法相比,只是调用者和参数调换了一下而已。示例:

$("#littleBro").insertAfter($("#bigBro"));

5.before()、insertBefore(),使用同after()、insertBefore()一样,只是把后面变成前面,新节点是兄节点。

6.删除节点:remove(),由要删除的节点对应的jQuery对象调用调用

7.清空节点:empty(),由要清空的节点对应的jQuery对象调用调用

8.获取上一个节点:prev()

9.获取下一个节点:next(),效果等同于js的one.nextElementSibling || one.nextSibling

10.获取所有兄弟节点:siblings(),同一个父亲哦

js、jquery对节点的操作(增、删)的更多相关文章

  1. JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删改查),事件

    JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删 ...

  2. jQuery -- DOM节点的操作

    DOM 操作的分类: dom core: getElementById() getElementsByTagName() getAttribute() setAttribute() html-dom ...

  3. django单表操作 增 删 改 查

    一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取出数据. 目的:通过classes(班 ...

  4. Jquery Dom节点常用操作

    select 标签 form提交的时候 提交select标签选中的value值 1. 添加项 $("#select_id").append("<option val ...

  5. jQuery 中使用 DOM 操作节点,对页面中的表格实现增、删、查、改操作

    查看本章节 查看作业目录 需求说明: 在 jQuery 中使用 DOM 操作节点,对页面中的表格实现增.删.查.改操作 点击"增加"超链接时,将表格中的第一条数据添加到表格的末尾 ...

  6. 原生JS添加节点方法与jQuery添加节点方法的比较及总结

    一.首先构建一个简单布局,来供下边讲解使用 1.HTML部分代码: <div id="div1">div1</div> <div id="d ...

  7. JS添加节点方法与JQuery添加节点方法的比较及总结

    原生JS添加节点方法与JQuery添加节点方法的比较及总结   一.首先构建一个简单布局,来供下边讲解使用 1.HTML部分代码: <div id="div1">div ...

  8. 事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流

    一.事件冒泡定义 事件冒泡是指在一个对象触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那 ...

  9. 从JS和jQuery浅谈DOM操作,当我们在获取时,究竟获取了什么

    0.写在前面的话 自己对前端的东西一直不是很熟,现在开始要想办法从前端各个地方去获取想要的属性值的时候,也基本是在网上现炒现卖,几周下来,发现自己还是迷迷糊糊,可以算是一无所获. 所以就抽时间,把这一 ...

随机推荐

  1. Android 短信模块分析(四) MMS之短信的发送与接收

     MMS之短信的发送与接收分析: 一.信息发送: com.android.mms.data.WorkingMessage.java 类 send()函数: public void send() { . ...

  2. Trade-----HDU3401----单调队列优化的DP

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3401 题目意思: 有T天,你每天可以以API买进,BPI卖出,最多买ASI个,最多卖BSI个 最多只能 ...

  3. for惠普2013实习生

    似乎快两个月了,惠普招实习生的时间好像确实有点久. 记得是从五月中旬的时候,惠普来学校招实习生的.因为没能够去腾讯,能拿到惠普的实习生offer也是我所愿了. 记得宣讲的那天,兴冲冲的过去了,惠普的一 ...

  4. 一个简单的string类,读书看报系列(一)

    对于这个类,写过程序的都知道应该含有的方法是 初始化.销毁.拼接.求长度.清除.判断是否为空等.还有一些操作符重载 一.先看初始化: 可以想到应该有默认构造的的.带有字符串的.带有默认字符的.还有一个 ...

  5. 深入浅出Redis-redis底层数据结构(下)

    概述: 学习使用Redis,其实并不需要去研究其底层数据的实现.我们只需要了解他有哪些常用的数据类型,然后熟练使用,就可以很好的掌握Redis 这个工具了.但是这样的学习方法只适合Redis 的入门, ...

  6. 【C语言】指针模块

    本文目录 直接引用 一.什么是指针? 二.指针的定义 三.指针的初始化 四.指针运算符 五.指针的用途举例 六.关于指针的疑问 指针是C语言中非常重要的数据类型,如果你说C语言中除了指针,其他你都学得 ...

  7. [JAVA] 学java必看书籍

    <java编程思想>,<Effective Java>,<JVM虚拟机规范>     <Java核心技术>    <Java Web开发技术大全& ...

  8. CodeForces 747D Winter Is Coming

    贪心. 只考虑负数的位置,先填间隔较小的,再填间隔较大的.如果填不满就不填,如果有多余就留给最后一个负数到终点这段路. #include<cstdio> #include<cstri ...

  9. buildroot 重新编译 package

    /************************************************************************* * buildroot 重新编译 package ...

  10. qt5.5.0成功移植到IMX6中

    前阵子移植qt4.8.5到板子上成功后,总想着qt4有点旧,于是就想着玩qt5,之前都是在Windows7上写qt,写了个游戏,感觉还不错,但毕竟不能只能在PC机上跑,现在由于项目需要,要将qt搞到I ...