第三章 jQuery 中的DOM操作
Dom是一种文档对象模型,DOM是一种与浏览器、平台无关的接口,使用该接口可以轻松的访问页面中的标签组件。
Dom操作的分类:Dom Core(核心)、HTML Dom 、CSS Dom
Dom 并不是专门用来处理网页,也可以用它来处理一些使用标记语言的文档。例如XML.
Dom Core组成部分:getElementById()、getElementsByTagName()、getAttribute()、setAttribute()等方法
举个例子:(1)使用DOM Core 来获取表单对象的方法:
document.getElementsByTagName("form");
(2)使用Dom Core 来获取某元素的属性的方法:
elements.getAttribute("src");
HTML Dom 出现的比javascript要早,有点:代码书写短。缺点:只能用来处理web文档
举个例子:使用HTML-Dom来获取表单对象的方法
document.forms//html Dom 提供了一个forms 对象
使用HTML-dom来获取某元素的src属性
element.src;
Css-Dom 是针对Css的操作。主要是用来获取和设置style对象的各种属性。来打到改变页面效果
element.style.color="red";
jQuery中的Dom操作:
查找节点:
(1)查找元素节点: 例如 var $li=$(" ul li:eq(1)");
(2)查找属性节点:利用jQuery选择器查找到需要的节点,就可以使用atrr()方法来获取各种属性和值。attr()方法可以一个或者两个参数。当为一个的时候为获取属性。当为两个的时候为设置属性。
创建节点:
(1)创建元素节点:例如创建一个li元素 var $li_1=$("<li></li>"),将li元素插入到ul中 $("ul").append($li_1):
(2)创建文本节点:就是在元素节点中添加属性,这里不在多说
插入节点:
(1)主要介绍方法:(a).append()向匹配元素(内部)(追加)元素例如$("p").append("<b>你好</b>");---------->
(b ).appendTo() 效果一样。写法上有差别
(c )prepend() 向每个匹配元素
(内部)(前置)内容
(d)prependTo().......
(e)after()向每个匹配元素之后插入内容
(f )insertAfter().........
(g)before() 向每个匹配元素之前插入内容
(h)insertBefore()............
删除节点:
(1)remove()方法:从DOM中删除匹配的元素。传入的参数用户根据jQUERY 表达式筛选元素
使用个该方法后,该节点所包含的所有后代节点将同时删除,返回值是一个指向已被删除的节点的引用。
例如:var $li=$("ul li:eq(0)").remove();//获取ul下面第一个li元素后,将它从网页上删除
$li.appendTo("ul");//把刚才删除的节点由添加到<ul>中
通过传入的参数来选择性的删除
例如:$("ul li").remove("li[title!=菠萝]");//将<li>元素中属性title不等于“菠萝”的 li 元素删除,也可以写成 $("ul li[title!=菠萝]").remove();
(2)empty()方法 :并不是删除节点。而是清空节点。它能清空元素中的所有的后代节点
注意:清空节点只是清空标签里面的文本,并没有清空里面的属性。
复制节点:
(1)clone()
例如:$("ul li").click(function(){
$(this).clone().appendTo("ul");//复制当前的li节点,并追加到<ul>标签里面
})
如果让新元素也有复制行为:
$(this).clone(true).appendTo("body")//复制的节点仍有复制的功能,传递的参数true,含义是复制元素的同时,复制了元素所绑定的事件。
替换节点:
(1)replaceWith()将所匹配的元素都替换成指定的HTML或者DOM元素
例如:$("p").replaceWith("<stront>哈哈</strong>");也可以使用jquery两一个方法replaceAll()作用只是颠倒了操作位置。例如:$("<stront>哈哈</strong>").replaceAll("p");
包裹节点:
(1)如果要将某个节点用其他标记包裹起来,jquery提供相应方法即wrap()
例如:$("strong").wrap("<b></b>");//用<b>标签把<strong>元素包裹起来 ------------>单独包裹
(2)wrapAll() 整体包裹
(3)wraplnner()该方法将每一个匹配的元素的子内容)(包括文本节点)用其他结构化标签包裹起来
属性操作:
(1)在jquery 中用attr()方法来获取和设置元素属性,用removeAttrr()方法来删除元素属性。
就是传递一个参数,就是获取属性,传递两个参数就是设置属性,也可以通过名值对形式设置多个属性,类似方法还有 html().text(),height(),width().val().css().
(2)删除属性
例如:$("p").removeAttr("title");//删除p元素的title属性
样式操作:
(1)获得样式和设置样式都是通过调用attr()方法,通过传入的参数个数就可以轻易实现
(2)追加样式:addClass() 例如$("p").addClass("antohr"); .antohr{color:red;},此时CSS将包含新增加进来的样式。CSS中有规定,当给一个元素添加多个样式,就相当于合并了他们的样式 。如果设置有冲突就相当于覆盖。
(3)追加样式addClass()和设置样式attr()的区别,追加样式,是添加一种样式,设置样式是从新指定样式。
(4)移除样式 和addClass()相反 移除样式有removeClass()方法 ,传入什么属性,就移除什么class属性,多个属性要用空格隔开 要是什么都不写,就移除所有class属性
切换样式:
(1)toggle() 例如:$btn.toggle(function(){ //交替动作
................................//显示元素
},function(){
..........................//隐藏元素
})
(2)toggleClass 切换CSS样式(增加删除样式)
(3)hasClass()判断元素是否含有某个class ,如果有,则返回true ,没有返回false.
(4)text() 例如如果要为某元素设置文本内容那么需要传递一个参数。$("p").text("我是新增加的文本");
遍历节点:
(1)children()用于取得匹配元素的子元素集合。$("body").children().
children()方法只考虑只元素,而不考虑任何后代元素(将标签和文本都输出出来)
(2)next()用于取得匹配元素后面紧邻的同辈元素
(3)prev()取得匹配元素前面紧邻的同辈元素
(4)siblings()取得匹配元素前后所有的同辈元素
(5)closest()用来取得最近的匹配元素
例如:给点击目标元素的最近的li元素添加颜色 $(document).bind("click",function(e){
$("e.target").closest("li").css("color","red");
})
(6)Jquery 遍历节点的方法:find(),filter(),nextAll(),prevAll(),parent(),parents()等
CSS-DOM操作:
(1)CSS-DOM简单来说就是读取和设置style属性,style 属性很有用但是不能通过style 来提取设置外部引用的CSS,但是jquery 可以
一些对CSS操作的方法,参见api
(2)offset() 获取元素在当前窗口的偏移量,返回的对象包含两个属性 top ,left,只对可见元素有效
例如:var offert=$("p").offset(); var left =offset.left var top=offset.top
之后。。。。正在完善
分享到:
相关推荐
Jquery学习笔记 Jquery学习笔记是指使用Jquery框架来实现javascript编程的笔记记录,本笔记记录了Jquery-1.2的基本用法、Ajax异步交互、XMLHttpRequest对象的基本应用等知识点。 一、Jquery基本用法 Jquery是一个...
**jQuery学习笔记(一)** 在深入探讨jQuery之前,我们首先要理解什么是jQuery。jQuery是一个高效、易用且功能丰富的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互等任务。由John Resig在2006...
锋利的JQuery学习笔记
**jQuery 学习笔记总结** jQuery 是一个广泛使用的 JavaScript 库,它简化了网页文档对象模型(DOM)操作、事件处理、动画制作以及Ajax交互。本篇笔记将深入探讨 jQuery 的核心概念,包括选择器、常用方法以及在...
jQuery 语法学习笔记jQuery 语法学习笔记jQuery 语法学习笔记jQuery 语法学习笔记jQuery 语法学习笔记jQuery 语法学习笔记jQuery 语法学习笔记jQuery 语法学习笔记jQuery 语法学习笔记jQuery 语法学习笔记jQuery ...
**jQuery学习笔记** jQuery,作为一个轻量级的JavaScript库,极大地简化了JavaScript的DOM操作、事件处理、动画设计以及Ajax交互。这篇学习笔记将深入探讨jQuery的核心概念和实用技巧,帮助初学者快速上手。 ## 一...
《韩顺平jQuery学习笔记及练习》是一份珍贵的学习资源,由知名讲师韩顺平的课程实录整理而成,旨在帮助学习者深入理解和掌握jQuery这一强大的JavaScript库。jQuery简化了HTML文档遍历、事件处理、动画设计和Ajax交互...
以下是对JQuery学习笔记的详细解析: 首先,JQuery的出现是为了弥补JavaScript在处理浏览器兼容性和控件操作上的不足。不同浏览器对JavaScript的实现存在差异,导致开发跨浏览器的网页应用变得复杂。为了统一这些...
《jQuery学习笔记详解》 jQuery,作为一款广泛应用于前端开发的JavaScript库,因其简洁的语法和强大的功能,深受开发者喜爱。这份"jQuery学习笔记.rar"包含的资源旨在帮助你全面掌握jQuery,无论你是初学者还是有...
这里,我们有针对这两个主题的学习笔记和参考资料,包括JavaScript培训、jQuery API、JavaScript基础、函数详解以及jQuery使用手册等内容。让我们逐一探讨这些知识点。 首先,`JavaScript培训.zip`可能包含的是对...
**jQuery学习笔记合集概述** jQuery是一个广泛应用于前端开发的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作以及Ajax交互等任务。这个"JQuery学习笔记合集"包含了三个部分,旨在帮助开发者从初级到高级...
**jQuery学习笔记 jQuery API** jQuery,作为一款广泛使用的JavaScript库,极大地简化了DOM操作、事件处理、动画制作和Ajax交互。本笔记旨在帮助开发者快速上手并深入理解jQuery的核心概念和API。 ### 1. jQuery...
**jQuery学习笔记分享** 在Web开发中,jQuery是一个非常重要的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务。本文将深入探讨jQuery的基本概念、核心功能以及常见用法。 ### 第1章:...
《圣思源jQuery学习笔记详解》 jQuery,作为一款强大的JavaScript库,自2006年发布以来,因其简洁易用的API和丰富的插件生态,迅速成为了前端开发者的重要工具。圣思源张龙老师的jQuery学习笔记,深入浅出地剖析了...
在深入探讨jQuery的知识点之前,首先需要理解jQuery是一个流行的JavaScript库,它简化了DOM操作、事件处理、动画制作以及Ajax交互等任务。jQuery的核心特性是其选择器,它允许开发者通过CSS样式的语法轻松选取HTML...
《锋利的jQuery学习笔记》是一份深入探讨jQuery框架的学习资料,主要针对想要掌握JavaScript库jQuery的开发者。jQuery是一款高效、简洁的JavaScript库,它极大地简化了JavaScript代码的编写,使得DOM操作、事件处理...
**jQuery学习笔记** jQuery是一个广泛使用的JavaScript库,它极大地简化了JavaScript代码的编写,使得网页交互变得更加简单。这个资源包含了作者在自学jQuery过程中积累的笔记,以HTML页面的形式呈现,方便阅读和...
《jQuery学习笔记详解》 jQuery,作为一款广泛应用于Web开发的JavaScript库,以其简洁的API、强大的功能和广泛的社区支持,极大地简化了DOM操作、事件处理、动画制作以及Ajax交互等任务。这篇学习笔记将深入探讨...
### jQuery学习笔记精心整理 #### 一、什么是jQuery 1. **定义**: - **第三方**:jQuery是由第三方组织或个人编写的函数库,并非浏览器内置或开发者自定义的函数,因此使用前需从官方网站([www.jquery.com]...