JS节点操作(JS原生+JQuery)
JavaScript与JQuery节点操作
节点关系与类型
任何HTML元素,都有nodeType属性。值有1~12,常用的有:
1.元素节点
2.文本节点
8.注释节点
9.document节点(HTML文档对象)
10.DTD(文档类型定义)
box.nodeType //返回值1,获得nodeType属性
box.childNodes //获得全部子元素 //兼容性问题 注意:在chrome,IE9 IE10高版本的浏览器里面的回车都认为是节点,IE6,7,8低版本的浏览器不算,高版本浏览需遍历筛选
box.parentNode //查找父节点
prevs.previousSibling //查找上一个兄弟元素
prevs.nextSibling //查找下一个兄弟元素
(注意,这两个元素childNodes一样,拥有兼容性问题)
可以先遍历然后进行筛选取得元素
例:
var p=document.getElementById('p');
var prevs = p;
while(prevs =prevs.previousSibling){ //通过while循环遍历元素
if(prevs.nodeType == 1){ //使用nodeType属性进行筛选元素
prevs.style.background = 'red'; //得到上一个元素后进行操作
}
}
var nexts =p;
while(nexts = nexts.nextSibling){ //同理查找下一个元素也一样
if(nexts.nodeType == 1){
nexts.style.background ='blue';
}
}
JQuery节点关系
$('.box').children(); //获得所有子元素,屏蔽兼容性问题,不用考虑兼容性问题,可以传递一个参数,对子元素进行筛选
$('p').find(); //查找所有子元素及子元素得后代,先找到的第一个元素排0,以此类推,和children一样可以传递一个参数,进行筛选
$('p').parent(); //查找父元素,任何元素只有一个父元素
$('p').parents(); //查找所有祖先节点
siblings(); //查找所有兄弟元素 可以传递参数(选择器,筛选器)进行筛选
prev()、next()、prevAll()、nextAll()
//前一个、后一个兄弟、前所有兄弟、后所有兄弟
总结:JQuery屏蔽所有的不兼容,只选择nodeType=1的元素,不选择文本。注释等等并且不用for循环,一次性得到所有东西
JavaScript节点操作
var oLi = document.createElement("li"); //添加节点
ul.appendChild(oLi);把新节点,追加到元素中
box.innerHTML ='<p>Hello word!</p>'; //也可以通过这种方式添加一个标签
ul.insertBefore(新元素,原有元素); //将新元素插入到指定元素之前
list.removeChild(oldchild); //删除元素,必须找到父元素才能进行删除,可以使用parentNode查找父元素
父节点.replaceChild(新节点,原节点); //替换节点
box.appendChild(p.cloneNode(true)); //克隆节点,true表示克隆全部(属性与子节点),默认克隆单个节点
JQuery节点操作
$('.box').append('<p>Text5<p>');//添加节点,无需createElement创建节点,相当于使用innerHTML直接添加
$("<p>Text6</p>").appendTo('.box'); //表示被动添加,即与append相反,将子节点添加到父节点
$('.box').prepend("<p>Text7</p>"); //将节点添加到第一位
$("<p>Text7</p>").prependTO('.box'); //表示被动,将节点添加到第
$('#p').after("<h3>这是H3</h3>"); //插入兄弟节点,插入之后
$('#p').before("<h4>这是H4</h4>"); //插入兄弟节点,插入之前
$('<p>Text11</p>').insertBefore($('p')[2]); //被动,插入兄弟节点,插入之前
$('<p>Text22</p>').insertAfter($('p')[2]); //被动,插入兄弟节点,插入之后
$('a').wrap("<b></b>");使用b标签包裹起来
$('a').wrapAll("<b></b>"); //全部使用b标签包裹起来
$('.box').empty(); //删除(清空)所有内容
$('p').remove(); //删除页面所有的p标签
$('.box').append($('p').eq(0).clone()); //克隆节点,并添加
JS节点操作(JS原生+JQuery)的更多相关文章
- js节点操作实例
写了一个简单的小例子来引用js实例 1. 初步节点操作: 2.兼容性节点操作: 3.节点的类型,名字: 4.使用setAttribute设置属性 5.节点复制操作: 6.删除和替换节点 如有错误,还望 ...
- js节点操作
在看<javascript高级程序设计>,看到节点操作这一块,觉得我只知道用appendChild(),太肤浅了,记录下学到的东西. 每个节点都有一个 parentNode 属性,该属性指 ...
- 原生JS节点操作
获取子节点 1. children 不是标准的dom属性,但是几乎被所有浏览器支持.获取子元素的元素节点(只包括元素节点) 注意:在IE中,children包含注释节点. 2. childNodes ...
- 节点操作js jQuery
append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() - 在被选元素之前插入内容 functi ...
- js 节点操作
添加和删除节点(HTML 元素). 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素. 实例 <div id=& ...
- 原生JS和jQuery中基本的节点操作
js中节点操作**document.createElement()**用来生成网页元素节点,参数为元素的标签名: **document.createTextNode()**用来生成文本节点,参数为所要 ...
- 原生JS的使用,包括jquery和原生JS获取节点、jquery和原生JS修改属性的比较
一.前言 相比于JS这条直达终点.满是荆棘的小路,jquery无疑是康庄大道了,足够的简洁.易用给了它辉煌的地位.然而,毕竟是绕着道的插件,当小路走着走着变成大路的时候,曾经的大路也就失去了他自身的优 ...
- jquery实现点击展开列表同时隐藏其他列表 js 对象操作 对象原型操作 把一个对象A赋值给另一个对象B 并且对象B 修改 不会影响 A对象
这篇文章主要介绍了jquery实现点击展开列表同时隐藏其他列表的方法,涉及jquery鼠标事件及节点的遍历与属性操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了jquery实现点击 ...
- js进阶 11-9/10/11 jquery创建和插入节点
js进阶 11-9/10/11 jquery创建和插入节点 一.总结 一句话总结: 1.jquery插入节点8个方法? 内部之前,内部之后,之前,之后:各两个 append()和appendTo() ...
随机推荐
- (转载)Oracle配置监听服务
原文地址: http://www.cnblogs.com/1016882435AIDA/p/6378337.html 一,在服务端配置oracle端口 在命令行中输入netca命令,打开相关配置默认端 ...
- Sublime Text 快捷键的使用
Sublime Text 快捷键的使用 快捷键列表(Shortcuts Cheatsheet) 我把本文出现的Sublime Text按其类型整理在这里,以便查阅. 通用(General) ↑↓←→: ...
- GZS与小公园(DFS)
Description 某天GZS漫步在学校新建的小公园,他发现那里建成了一些水池和小河道.我们暂且把它们统一看成水池.假设公园旁有一张小公园的地图,上面仅标识了此处是否是水池,你能帮GZS计算出该地 ...
- Unbuntu 自动重启MySQL
上个月,通过Unbuntu搭建了WordPress,一切运行良好. UBUNTU搭建WORDPRESS-MYSQL-APACHE 但是,最近几天,不知道啥情况,MySQL偶尔会出现Stop:影响了bl ...
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">报错
https://blog.csdn.net/qq_36611526/article/details/79067159 今天遇到个问题 文件内引入某个资源 pom.xml头部http://maven.a ...
- XML文件的一些操作
XML 是被设计用来传输和存储数据的, XML 必须含有且仅有一个 根节点元素(没有根节点会报错) 源码下载 http://pan.baidu.com/s/1ge2lpM7 好了,我们 先看一个 XM ...
- Angular 路由route实例
iSun Design & Code AngularJS - 路由 routing 基础示例 AngularJS 路由 routing 能够从页面的一个视图跳转到另外一个视图,对单页面应用来讲 ...
- linux下指定特定用户执行命令
虽然很简单但是百度找的大部分不能用,我是没找到,后来从google找到的 sudo -H -u www bash -c 'nohup /home/web/ke/upfileserver /home/w ...
- Android 读取excel 文件
在面对选择国家地区,选择手机号码区号等信息的时候,常常我们是读取已存好的数据,我现在读取的就是excel里面的数据,所以在此记录下读取的方法以及注意点. 下面就是读取国际地区手机区号的数据效果图: e ...
- 干货|java缓存技术详解
一.缓存是什么? 请点击此处输入图片描述 Cache ①高速缓冲存储器,其中复制了频繁使用的数据以利于快速访问. ②位于速度相差较大的两种硬件/软件之间,用于协调两者数据传输速度差异的结构 二.缓存有 ...