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实现图片平滑滚动详解
Mar 22 jQuery
JS jQuery使用正则表达式去空字符的简单实现代码
May 20 jQuery
关于jQuery里prev()的简单操作代码
Oct 27 jQuery
jquery自定义显示消息数量
Dec 19 jQuery
jQuery实现页码跳转式动态数据分页
Dec 31 jQuery
jQuery代码优化方法总结
Jan 29 jQuery
jQuery实现table表格信息的展开和缩小功能示例
Jul 21 jQuery
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
Jun 10 jQuery
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
JQuery中DOM节点的操作与访问方法实例分析
Dec 23 jQuery
jquery实现聊天机器人
Feb 08 jQuery
JQuery绑定事件四种实现方法解析
Dec 02 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
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
分享一下贝贝成长进度的php代码
2012/09/14 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
JavaScript函数、方法、对象代码
2008/10/29 Javascript
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
React组件的三种写法总结
2017/01/12 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
2021/01/30 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
python3 flask实现文件上传功能
2020/03/20 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
python selenium firefox使用详解
2019/02/26 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
护理职业应聘自荐书
2013/09/29 职场文书
教学实习自我评价
2014/01/28 职场文书
高级销售求职信
2014/02/21 职场文书
开展读书活动总结
2014/06/30 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
会议营销主持词
2015/07/03 职场文书
学术研讨会主持词
2015/07/04 职场文书
小学大队干部竞选稿
2015/11/20 职场文书
2016教师暑期培训学习心得体会
2016/01/09 职场文书
Python insert() / append() 用法 Leetcode实战演示
2021/03/31 Python