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获取table下某一行某一列的值实现代码
Apr 07 jQuery
jQuery使用正则验证15/18身份证的方法示例
Apr 27 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
jQuery实现的简单图片轮播效果完整示例
Feb 08 jQuery
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
20个最常见的jQuery面试问题及答案
May 23 jQuery
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
JQuery发送ajax请求时中文乱码问题解决
Nov 14 jQuery
jQuery使用ajax传递json对象到服务端及contentType的用法示例
Mar 12 jQuery
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
jQuery实现可以扩展的日历
Dec 01 jQuery
jQuery实现本地存储
Dec 22 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
Smarty局部缓存的几种方法简介
2014/06/17 PHP
PHP return语句的另一个作用
2014/07/30 PHP
PHP常用编译参数中文说明
2014/09/27 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
2016/01/03 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
js获取客户端外网ip的简单实例
2013/11/21 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
Angular.JS中指令ng-if的注意事项小结
2017/06/21 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
Vue修改项目启动端口号方法
2019/11/07 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
[01:10]DOTA2英雄背景故事第四期之混沌法则混沌骑士
2020/07/16 DOTA
python相似模块用例
2016/03/04 Python
python文本数据相似度的度量
2018/03/12 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
Python Flask框架扩展操作示例
2019/05/03 Python
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
Python实现ATM系统
2020/02/17 Python
Python中Selenium模块的使用详解
2020/10/09 Python
Eagle Eyes Optics鹰眼光学:高性能太阳镜
2018/12/07 全球购物
上课说话检讨书大全
2014/01/22 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
大型活动组织方案
2014/05/10 职场文书
在宿舍喝酒的检讨书
2014/09/28 职场文书
批评与自我批评范文
2014/10/15 职场文书
财务部岗位职责
2015/02/03 职场文书
Node与Python 双向通信的实现代码
2021/07/16 Javascript
Golang流模式之grpc的四种数据流
2022/04/13 Golang