创建新节点

1.创建一个DOM片段
createDocumentFragment()

例如:

 var d=document.createDocumentFragment();
d.appendChild(document.getElementsByTagName("LI")[0]);

2.创建一个具体的元素
createElement()

例如:

 document.createElement("input");

3.创建一个文本节点
createTextNode()

例如:

 document.createTextNode("Water")

添加、移除、替换、插入

1.添加子节点

appendChild()

 var node=document.createElement("LI");
var textnode=document.createTextNode("Water");
node.appendChild(textnode);
document.getElementById("myList").appendChild(node);

2.移除子节点

removeChild()

 var list=document.getElementById("myList");
list.removeChild(list.childNodes[0]);

3.替换子节点

replaceChild()

 var textnode=document.createTextNode("Water");
var item=document.getElementById("myList").childNodes[0];
item.replaceChild(textnode,item.childNodes[0]); //前面参数是新的节点,后面的是要被取代的节点

4.插入子节点

insertBefore()

 var newItem=document.createElement("LI")
var textnode=document.createTextNode("Water")
newItem.appendChild(textnode)
var list=document.getElementById("myList")
list.insertBefore(newItem,list.childNodes[0]); //前面参数是新的节点,后面的是要插入节点的位置

JQ的动态添加元素方法:

1.append() 方法在被选元素的结尾插入内容。

2.prepend() 方法在被选元素的开头插入内容。

3.after() 方法在被选元素之后插入内容。

4.before() 方法在被选元素之前插入内容。

从document查找

1.document.getElementById()

靠id获取节点

2.document.getElementsByClassName()

靠类名获取节点集(数组)

3.document.getElementsByTagName()  IE9+才兼容~~

靠标签名获取节点集(数组)

4.document.createElement()

创建新的节点

5.document.querySelector()

靠CSS选择符获取节点

6.document.querySelectorAll()

靠CSS选择符获取节点集(数组)

查找父节点

node.parentNode 和 node.parentElement

直接获取父层元素两者是一样的,前者是w3c标准。

node.offsetParent:相对于哪元素定位,就是哪个元素

查找子节点

node.childNodes 获取所有子节点,包括了注释

node.children 获取所有子元素(有标签的才算!!)

查找兄弟节点

node.previousSibling 获取前一位兄弟节点,包括了注释

node.nextSibling 获取后一位兄弟节点,包括了注释

node.previousElementSibling  获取前一位兄弟元素(有标签的才算!!)

node.nextElementSibling  获取前一位兄弟元素(有标签的才算!!)

判断node种类:node.nodeType  1->telement 3->text 8->tcomment

获取元素节点后,可以用之前提到过的点表示法和方括号表示法来编辑操作元素节点的属性(id、src、className、style、offsetTop、offsetWidth、clientWidth、scrollWidth....)和内容(innerHTML、outerHTML、innerText、textContent、childNodes、appendChild、removeChild....)。

值得注意的是操作样式的写法:

1.第一种是  node.style.样式名  的写法:例如div.style.height="100px"(比较特别的:有-的样式名如div.style.backgroundColor,浮动div.style.cssFloat)

2.第二种是  node.style.cssText  的写法:例如div.style.cssText="display:block;width:100px;height:100px"

ps:还有一种获取实际浏览器计算出来的样式,例如 getComputedStyle(div[,'::after']).color

js获取节点和编辑的方法的更多相关文章

  1. JS获取节点方法

    1. 通过顶层document节点获取:(1) document.getElementById(elementId):该方法通过节点的ID,可以准确获得需要的元素,是比较简单快捷的方法.如果页面上含有 ...

  2. 原生JS的使用,包括jquery和原生JS获取节点、jquery和原生JS修改属性的比较

    一.前言 相比于JS这条直达终点.满是荆棘的小路,jquery无疑是康庄大道了,足够的简洁.易用给了它辉煌的地位.然而,毕竟是绕着道的插件,当小路走着走着变成大路的时候,曾经的大路也就失去了他自身的优 ...

  3. JS获取当前页面URL的方法

    1.JS获取当前页面URL的方法小结 ①. document.URL;                           http://localhost:81/Test/1.htm/id/12 ② ...

  4. JS获取节点的兄弟,父级,子级元素的方法(js获取子级获取到换行与空格元素-FF)

    先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比. JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 < ...

  5. JS获取节点的兄弟,父级,子级元素

    https://blog.csdn.net/duanshuyong/article/details/7562423 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作 ...

  6. JS获取HTML DOM元素的方法

    JS获取HTML DOM元素有八种方法: 1.根据id获取标签元素: document.getElementById("id名"); 2.根据标签名获取标签列表: document ...

  7. js获取及判断按键的方法

    js 里面的键盘事件经常用到,所以收集了键盘事件对应的键码来分享下: keyCode 8 = BackSpace BackSpace keyCode 9 = Tab Tab keyCode 12 = ...

  8. JS获取各种浏览器窗口大小的方法

    常用:JS 获取浏览器窗口大小复制代码 代码如下:// 获取窗口宽度if (window.innerWidth)winWidth = window.innerWidth;else if ((docum ...

  9. js获取fck值的代码方法

    引入js文件 <script type="text/javascript" src="${basePath}/FCKeditor/fckeditor.js" ...

随机推荐

  1. tp框架-----Model模型层

    1.Model模型层是用来做什么的呢? 主要是用来做操作数据库访问的.也就说明TP框架自带了一种访问数据库的方式,使用的是Model模型. 2.Model模型怎样使用呢? 要使用Model模型层访问数 ...

  2. 水题 第三站 HDU Largest prime factor

    先写一遍思路,跟素数表很类似吧. 1)从小到大遍历数据范围内的所有数.把包含质因子的数的位置都设成跟质因子的位置相同. 2)同一个数的位置可能被多次复写.但是由于是从小到大遍历,这就保证了最后一次写入 ...

  3. springmvc(一) springmvc框架原理分析和简单入门程序

    springmvc这个框架真的非常简单,感觉比struts2还更简单,好好沉淀下来学习~ --WH 一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解 ...

  4. 猜年龄---while循环

    #!/usr/bin/env python# -*- coding:utf-8 -*-# Author:Andy Chen age_of_oldboy = 56 count = 0while True ...

  5. java 使用spring实现读写分离

    最近上线的项目中数据库数据已经临近饱和,最大的一张表数据已经接近3000W,百万数据的表也有几张,项目要求读数据(select)时间不能超过0.05秒,但实际情况已经不符合要求,explain建立索引 ...

  6. Java缓存框架使用EhCache结合Spring AOP

    一.Ehcache简介     EhCache是一个纯Java的进程内缓存框架,具有如下特点:     1. 快速简单,非常容易和应用集成.     2.支持多种缓存策略 .     3. 缓存数据有 ...

  7. FreeRTOS——中断管理

    1. 只有以“FromISR”或"FROM_ISR"结束的API函数或宏才可以在中断服务函数中使用. 2. 除互斥信号量外,所有类型的信号量都可以调用 xSemaphoreTake ...

  8. CODE大全——机器学习

    聚类 聚类任务 背景 在无监督学习(密度估计.异常检测等)中,训练样本的标记信息是未知的(即不人为指定),旨在发现数据之间的内在联系和规律,为进一步的数据分析提供基础. 此类学习任务中研究最多.应用最 ...

  9. wordpress设置“固定链接”后,页面404错误的解决方法

    Nginx 解决方案: 网上盛传的方法是: 在 /etc/nginx/nginx.conf文件的 loction / {} 中添加 if (-f $request_filename/index.htm ...

  10. Qt之对话框消失动画

    一.效果展示 最近做了一个提示框消失的功能,觉着挺有意思,以前一直以为Qt子窗口不能做淡出效果,其实Qt的淡出功能已经帮我们封装好了,我们仅仅只需要几行代码就可以做出酷炫的窗口关闭效果,写此篇文章的时 ...