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日期范围选择器附源码下载
May 23 jQuery
jquery DataTable实现前后台动态分页
Jun 17 jQuery
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
Jan 25 jQuery
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 jQuery
jQuery创建及操作xml格式数据示例
May 26 jQuery
jQuery实现适用于移动端的跑马灯抽奖特效示例
Jan 18 jQuery
Vue CLI3.0中使用jQuery和Bootstrap的方法
Feb 28 jQuery
jquery中为什么能用$操作
Jun 18 jQuery
jquery多级树形下拉菜单的实例代码
Jul 09 jQuery
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
jquery css实现流程进度条
Mar 26 jQuery
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 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获取post中的json数据的实现方法
2011/06/08 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
window.location.hash 属性使用说明
2010/03/20 Javascript
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
jquery slibings选取同级其他元素的实现代码
2013/11/15 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
浅析vue数据绑定
2017/01/17 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
用p5.js制作烟花特效的示例代码
2018/03/21 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
2019/09/25 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
跟老齐学Python之Python安装
2014/09/12 Python
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
python字符串中的单双引
2017/02/16 Python
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
python实现京东秒杀功能
2018/07/30 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
python实现Oracle查询分组的方法示例
2020/04/30 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
什么是URL
2015/12/13 面试题
大学生文员专业个人求职信范文
2014/01/05 职场文书
迎新晚会邀请函
2014/02/01 职场文书
期末自我鉴定
2014/02/02 职场文书
师德演讲稿范文
2014/05/06 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
资料员岗位职责范本
2015/04/13 职场文书
PHP解决高并发问题
2021/04/01 PHP