JQuery DOM 操作(下)
捕获
jQuery拥有可操作HTML元素和属性的强大方法。
获取内容
text()
设置或返回所选元素的文本内容
html()
设置或返回所选元素的内容(包括 HTML 标记)
1 |
|
val()
设置或返回表单字段的值
1 |
|
获取属性
attr()
1 |
|
设置
通过之前的四个方法,设置内容和属性。
1 |
|
1 |
|
添加元素
添加新的HTML元素
append()
jQueryappend()方法在被选元素的结尾插入内容(仍在该元素的内部)。
1 |
|
prepend()
jQueryprepend()方法在被选元素的开头插入内容。
1 |
|
after()
jQueryafter()方法在被选元素之后插入内容。
1 |
|
before()
jQuerybefore()方法在被选元素之前插入内容。
1 |
|
注意:append()和prepend()方法添加新元素是在选中元素的内部,而after()和before()方法添加新元素是在选中元素的外部(元素之后或元素之前)。
删除元素
删除元素/内容
remove()
删除被选元素(及其子元素)
1 |
|
empty()
从被选元素中删除子元素
1 |
|
过滤被删除的元素
1 | $("p").remove(".part"); |
删除了class名为part的段落(p),如果存在class名不是part的段落,则不会被删除。
CSS类
addClass()
向被选元素添加一个或多个类
1 | $("button").click(function(){ |
也可以同时添加多个类:
1 | $("button").click(function(){ |
removeClass()
从被选元素删除一个或多个类
1 | $("button").click(function(){ |
toggleClass()
对被选元素进行添加/删除类的切换操作
1 | $("button").click(function(){ |
css()
设置或返回样式属性
css()方法
语法:
1 | css("propertyname", "value"); |
1 | $("p").css("background-color","yellow"); |
也可以同时设置多个:
1 | $("p").css({"background-color":"yellow", "font-size":"200%"}); |
尺寸
jQuery提供多个处理尺寸的重要方法:
width()
width()方法设置或返回元素的宽度(不包括内边距、边框或外边距)。
height()
height()方法设置或返回元素的高度(不包括内边距、边框或外边距)。
innerWidth()
innerWidth()方法返回元素的宽度(包括内边距)。
innerHeight()
innerHeight()方法返回元素的高度(包括内边距)。
outerWidth()
outerWidth()方法返回元素的宽度(包括内边距和边框)。
outerHeight()
outerHeight()方法返回元素的高度(包括内边距和边框)。

遍历
jQuery遍历,意为移动,用于根据其相对于其他元素的关系来查找(或选取)HTML元素。
通过jQuery遍历,可以从当前元素开始,在家族树中向上移动(祖先),向下移动(子孙),水平移动(同胞),这种移动被称为对DOM树进行遍历:
1 |
|

jQuery 祖先
通过
jQuery,可以向上遍历DOM树,以查找元素的祖先。
parent()方法
parent()方法返回被选元素的直接父元素。该方法只会向上一级对DOM树进行遍历
1 |
|
parents()方法
parents()方法返回被选元素的所有祖先元素,一直到文档根元素。
1 |
|
parentsUntil()方法
parentsUntil()方法返回介于两个给定元素之间的所有祖先元素。
1 |
|
jQuery 子孙
children()方法
children()方法返回被选元素的所有直接子元素。该方法只会向下一级对DOM树进行遍历。
1 |
|
find()方法
find()方法返回被选元素的后代元素,一直到最后一个。
1 |
|
当然,也可以对返回的标签进行过滤,来返回固定的标签。
1 | $(function() { |
jQuery 同胞
siblings()方法
siblings()方法返回被选元素的所有同胞元素。
1 | $(function() { |
同时,也可以传入参数来过滤同胞元素进行搜索。
1 | $(function(){ |
| 方法 | 用途 |
|---|---|
next() |
返回被选元素的下一个同胞元素。该方法只返回一个元素 |
nextAll() |
返回被选元素的所有跟随的同胞元素 |
nextUntil() |
返回介于两个给定参数之间的所有跟随的同胞元素 |
prev() |
返回被选元素的前一个同胞元素。该方法只返回一个元素 |
prevAll() |
返回被选元素的所有之前的同胞元素 |
prevUntil() |
返回介于两个给定参数之间的所有之前的同胞元素 |
jQuery 过滤
遍历-过滤,缩小搜索元素的范围。
first()方法
first()方法返回被选元素的首个元素。
1 | $(function() { |
last()方法
last()方法返回被选元素的最后一个元素。
1 | $(function() { |
eq()方法
eq()方法返回被选元素中带有指定索引号的元素。
索引号从 0 开始,因此首个元素的索引号是 0 而不是 1 。
下面的例子选取第二个 <p> 元素(索引号 1):
1 | $(function() { |
filter()方法
filter()方法允许规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。
下面的例子返回带有类名 “title“ 的所有 <p> 元素:
1 | $(function() { |
not()方法
not()方法返回不匹配标准的所有元素。
提示:not() 方法与 filter() 相反。
1 | $(function() { |
jQuery AJAX
AJAX是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新。
AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。
jQuery 提供多个与 AJAX 有关的方法。
通过 jQuery AJAX 方法,可以使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON ,同时可以把这些外部数据直接载入网页的被选元素中。
jQuery load() 方法
load()方法从服务器加载数据,并把返回的数据放入被选元素中。
语法:
1 | $(selector).load(URL, data, callback); |
URL 为必须参数,指定加载文件的路径。
data 为可选参数,规定与请求一同发送的查询字符串键/值对集合。
callback 回调函数,规定方法完成后执行的函数名称。
jQuery get() / post()
两种在客户端和服务器端进行请求-响应的常用方法:
DET 和 POST
Get 从指定的资源请求数据
Post 向指定的资源提交要处理的数据
$.get()方法
$.get()方法通过HTTP GET请求从服务器上请求数据。
语法:
1 | $.get(URL, callback); |
$.post()方法
$.post()方法通过HTTP POST请求向服务器提交数据。
语法:
1 | $.post(URL, data, callback); |
实例:
1 | $.ajax({ |
jQuery JSONP
Jsonp(JSON with Padding) 是json的一种”使用模式”,可以让网页从别的域名(网站)那获取资料,即跨域读取数据。
要理解跨域,先要了解一下“同源策略”。所谓同源是指,域名,协议,端口相同。所谓“同源策略“,简单的说就是基于安全考虑,当前域不能访问其他域的东西。
同源策略,它是由 Netscape 提出的一个著名的安全策略,现在所有支持 JavaScript 的浏览器都会使用这个策略。