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请求servlet实现ajax异步请求的示例
Jun 03 jQuery
jQuery为某个div加入行样式
Jun 09 jQuery
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
jquery插件开发之选项卡制作详解
Aug 30 jQuery
jQuery实现模糊查询的方法分析
May 10 jQuery
基于jquery实现九宫格拼图小游戏
Nov 30 jQuery
详解jQuery中的getAll()和cleanData()
Apr 15 jQuery
jQuery动态生成的元素绑定事件操作实例分析
May 04 jQuery
jQuery-Citys省市区三级菜单联动插件使用详解
Jul 26 jQuery
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
JQuery复选框全选效果如何实现
May 08 jQuery
jQuery实现可以扩展的日历
Dec 01 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 URL验证正则表达式
2011/07/19 PHP
PHP 实现explort() 功能的详解
2013/06/20 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
浅谈php://filter的妙用
2019/03/05 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
JavaScript 格式字符串的应用
2010/03/29 Javascript
推荐10个超棒的jQuery工具提示插件
2011/10/11 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
2013/09/13 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
2014/01/23 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
javascript实现省市区三级联动下拉框菜单
2015/11/17 Javascript
JS简单模拟触发按钮点击功能的方法
2015/11/30 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
keras自定义回调函数查看训练的loss和accuracy方式
2020/05/23 Python
物业管理公司实习生自我鉴定
2013/09/19 职场文书
英语专业应届生求职信范文
2013/11/15 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
2014年后勤工作总结
2014/11/18 职场文书
党支部承诺书
2015/01/20 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
MySQL 全文索引使用指南
2021/05/25 MySQL
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers