JQuery中DOM节点的操作与访问方法实例分析


Posted in jQuery onDecember 23, 2019

本文实例讲述了JQuery中DOM节点的操作与访问方法。分享给大家供大家参考,具体如下:

Jquery中DOM节点的操作

已有对象.append(要添加的对象) 作为最后一个子元素添加
要添加的对象.appendTo(已有对象)
prepend()/prependTo() 作为第一个子元素添加
已有元素.before(要添加的元素)/after() 在对象前面/后面添加新的元素,可用逗号分割添加多个元素  
要添加的元素.insertBefore(已有元素)/insertAfter()  
.empty() 删除元素所有子节点
.remove(“selector”) 删除自身整个元素,可以添加筛选参数
.detach() 删除节点,并将其保存在返回对象中,之后可以再次调用添加
.clone() 克隆节点结构,选填参数true后会同时克隆节点的事件
old.replaceWith(new) new.replaceAll(old) 用旧元素替换新的元素
.wrap(parent) 将每个元素包裹一个父元素
.unwrap() 去除外层包裹
.wrapAll() 将所有元素包裹一个父元素
.wrapInner() 将每个元素内部包裹一个子元素
//通过DOM方法创建2个div元素
var pdiv = document.createElement('div')
var cdiv = document.createElement("div");
//给2个div设置不同的属性
pdiv.setAttribute('class', 'right')
cdiv.className = 'child'
cdiv.innerHTML = "动态创建DIV元素节点";
//将cdiv作为第一个子元素添加到pdiv内
pdiv.appendChild(cdiv)
//绘制到页面body
var body = document.querySelector('body');
body.appendChild(pdiv)
//通过JQuery创建html元素 
var div = $("<div class='right'><div class='aaron'>动态创建DIV元素节点</div></div>");
$('body').append(div);
//删除整个 class=test1的div节点
$(".test1").empty()
//删除p标签中class为test3的结点
$("p").remove(".test3");
//通过detach在页面删除元素,但是这个节点还是保存在内存中
var p = $("p").detach()
//给所有p元素增加一个div包裹
$('p').wrapAll('<div></div>')
//去除p的父层元素
$('p').unwrap();
//所有div增加一个内层元素
$('div').wrapInner('<p></p>')

JQuery结点访问

.children() 选中直接子节点,括号内可填选择器
.parent() 选中直接父节点,括号内可填选择器
.parents() 选中所有的祖先节点
.closest(selector) 向上查找最近的满足条件的祖辈元素
.find(selector) 选中所有满足条件的后代元素
.next() 选中紧邻下一个同辈节点,可选填选择器
.prev() 选中紧邻前一个同辈节点,括号内可选填
.siblings() 选中所有同辈元素,括号内参数可选
.add() 添加新的元素加入到选中集合
.each(function(index,element){this}) 对每个进行函数操作,提供三个参数

注:选择器返回多个结果的可以通过括号内的选择器进行筛选,例如$('.item-2').next(':first'),选中多个类名为item-2的下一个节点,但:first只筛选了第一个。若括号内不填选择器,则默认选中所有的结果。

//选中class=div的子代的最后一个元素,添加边框
$('.div').children(':last').css('border', '3px solid blue')
//选中class=item-2的兄弟元素的最后一个,添加边框
$('.item-2').siblings(':last').css('border', '2px solid blue')

例2、each的使用:

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
 <title></title>
 <style>
 .left {
  width: auto;
  height: 150px;
 }
 .left div {
  width: 150px;
  height: 120px;
  padding: 5px;
  margin: 5px;
  float: left;
  background: #bbffaa;
  border: 1px solid #ccc;
 }
 </style>
 <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>
<body>
 <h2>each方法</h2>
 <div class="left first-div">
  <div class="div">
   <ul>
    <li>list item 1</li>
    <li>list item 2</li>
    <li>list item 3</li>
   </ul>
  </div>
  <div class="div">
   <ul>
    <li>list item 4</li>
    <li>list item 5</li>
    <li>list item 6</li>
   </ul>
  </div>
 </div>
 <br/>
 <button>点击:each方法遍历元素</button>
 <button>点击:each方法回调判断</button>
 <script type="text/javascript">
 $("button:first").click(function() {
  //遍历所有的li
  //修改每个li内的字体颜色
  $("li").each(function(index, element) {
   $(this).css('color','red')
  })
 })
 $("button:last").click(function() {
  //遍历所有的li
  //修改偶数li内的字体颜色
  $("li").each(function(index, element) {
   if (index % 2) {//使用index参数
    $(this).css('color','blue')//this形参指的是正在遍历的节点
   }
  })
 })
 </script>
</body>
</html>

更多关于jQuery相关内容还可查看本站专题:《jQuery操作DOM节点方法总结》、《jQuery遍历算法与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
jquery实现异步加载图片(懒加载图片一种方式)
Apr 24 jQuery
js和jquery中获取非行间样式
May 05 jQuery
基于Jquery Ajax type的4种类型(详解)
Aug 02 jQuery
jquery ajax异步提交表单数据的方法
Oct 27 jQuery
jQuery动态添加li标签并添加属性和绑定事件方法
Feb 24 jQuery
jQuery实现菜单的显示和隐藏功能示例
Jul 24 jQuery
在Vue项目中引入JQuery-ui插件的讲解
Jan 27 jQuery
jquery-ui 进度条功能示例【测试可用】
Jul 25 jQuery
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 jQuery
JQuery基于FormData异步提交数据文件
Sep 01 jQuery
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
Jan 29 jQuery
JQuery中的常用事件、对象属性与使用方法分析
Dec 23 #jQuery
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 #jQuery
基于jQuery实现可编辑的表格
Dec 11 #jQuery
jQuery实现可编辑的表格
Dec 11 #jQuery
jQuery实现验证用户登录
Dec 10 #jQuery
jquery实现弹窗(系统提示框)效果
Dec 10 #jQuery
jQuery实现消息弹出框效果
Dec 10 #jQuery
You might like
php array_slice函数的使用以及参数详解
2008/08/30 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
2013/06/20 PHP
使用php统计字符串中中英文字符的个数
2013/06/23 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
js类型检查实现代码
2010/10/29 Javascript
js处理自己不能定义二维数组的方法详解
2014/03/03 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
2015/08/12 Javascript
原生js制作日历控件实例分享
2016/04/06 Javascript
JavaScript中ES6字符串扩展方法
2016/08/26 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
JavaScript &amp; jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
详解微信小程序获取当前时间及日期的方法
2019/04/28 Javascript
vue切换菜单取消未完成接口请求的案例
2020/11/13 Javascript
常用python编程模板汇总
2016/02/12 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
TensorFlow实现简单卷积神经网络
2018/05/24 Python
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
python3安装crypto出错及解决方法
2019/07/30 Python
详解Django CAS 解决方案
2019/10/30 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
最小二乘法及其python实现详解
2020/02/24 Python
基于python实现把json数据转换成Excel表格
2020/05/07 Python
Python datetime模块使用方法小结
2020/06/18 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
感恩的演讲稿
2014/05/06 职场文书
白血病捐款倡议书
2014/05/14 职场文书
广场舞大赛策划方案
2014/05/31 职场文书
绿色环保标语
2014/06/12 职场文书
2015年企业团支部工作总结
2015/05/21 职场文书
python分分钟绘制精美地图海报
2022/02/15 Python