过滤元素
eq(index|-index):参数可以为正值也可以为负值,获取第 N 个元素,这个元素的位置从 0 开始,如果是负数,则从集合中的最后一个元素开始倒数,参数为-1 就是最后一个元素,-2 就是倒数第二个元素。
first():获取第一个元素。
last():获取最后一个元素。
1 | $('ul li).eq(-2).css({background:'red'}); |
children([expr]):不传参数是匹配所有子元素,传入参数是匹配其子元素中符合条件的所有子元素。
1 | <p>Hello</p><div><span>Hello Again</span><p class="selected">aaa</p></div><p>And Again</p> |
parent([expr]):取得一个包含着所有匹配元素的位以父元素的元素集合(匹配父元素,返回的是伪数组)(直接父元素)
1 | <div><p>Hello</p></div><div class="selected"><p>Hello</p></div> |
find(expr):搜索所有与指定表达式匹配的后代元素,相当于$(‘ul li’)
1 | <p><span>Hello</span>,how are you?</p> |
next([expr]):取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合。
1 | <p>Hello</p><p class="selected">Hello Again</p><div><span>And Again</span></div> |
nextAll([expr]):查找当前元素之后所有的同辈元素
1 | <div></div><div></div><div></div> |
prev([expr]):取得一个包含匹配的元素集合中每一个元素近邻的前一个同辈元素的集合。(紧邻的前一个元素)
prevAll([expr]):查找当前元素之前所有的同辈元素。
siblings([expr]):取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合。可以用可选的表达式进行筛选。
1 | <p>Hello</p><div><span>Hello Again</span></div><p>And Again</p> |
end():回到最近的一个“破坏性操作之前”。破坏性操作即为有变化。
1 | <p><span>Hello</span>,how are you?</p> |
遍历
each(callback):以每一个匹配的元素来作为上下文来执行一个函数。回调函数有两个参数,第一个参数代表索引,第二个参数代表当前遍历到的 DO 对象
1 | $('#box li').each(function(index,val){ |
index([selector|element]):搜索屁屁额的元素,并返回相应元素的索引值,从 0 开始计数。如果参数是一组 DOM 元素或者 jQuery 对象,那么返回值就是传递的元素相当于原先集合的位置,如果不传递参数,那么返回值就是这个 jQuery 对象集合中第一个元素相对于其同辈元素的位置。
1 | <ul> |
DOM 操作
创建
1 | $('<div></div>') |
内部插入操作
append(content):向每个匹配的元素内部追加内容。
1 | $("p").append("<b>Hello</b>"); |
prepend(content):向每个匹配的元素内部前置内容。
1 | $("p").prepend("<b>Hello</b>"); |
appendTo(content):把所有匹配的元素追加到另一个指定的元素元素集合中。
1 | <div></div><div></div> |
外部插入操作
after(content):在每个匹配的元素之后插入内容。
1 | $("p").after("<b>Hello</b>"); |
before(content):在每个匹配的元素之前插入内容。
1 | $("p").before("<b>Hello</b>"); |
替换操作
replaceWith(content):将所有匹配的元素替换成指定的 HTML 或 DOM 元素。
1 | $("p").replaceWith("<h2>888</h2>"); |
删除操作
empty():删除匹配的元素集合中所有的子节点。
1 | <p>Hello,<span>Person</span> <a href="#">and person</a></p> |
remove([expr]):从 DOM 中删除所有匹配的元素。
1 | $("p").remove(); |
复制操作
clone(Even]):克隆匹配的 DOM 元素并且选中这些克隆的副本。
even:一个布尔值(true 或者 false)指示事件处理函数是否会被复制。
1 | <b>Hello</b><p>, how are you?</p> |
事件
页面载入事件:
ready(fn):当 DOM 载入就绪可以查询及操纵时绑定一个要执行的函数。这是事件模块中最重要的一个函数,因为它可以极大地提高 web 应用程序的响应速度。简单地说,这个方法纯粹是对向 window.onload 事件注册事件的替代方法。
绑定事件:
bind(type,fn):为每个匹配元素的特定事件绑定事件处理函数。
unbind(type,[fn]]):bind()的反向操作,从每一个匹配的元素中删除绑定的事件。如果没有参数,则删除所有绑定的事件。
hover([over,]out):当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。
click(fn):触发每一个匹配元素的 click 事件。这个函数会调用执行绑定到 click 事件的所有函数。
注:其他事件方法使用方式一样。例如:mouseover、mouseout、dblclick、change、blur、focus、keydown、keyup、keypress、mousedown、mouseup、mousemove、mouseenter、mouseleave、resize、scroll、select、submit、unload 等。
on(event,[selector],fn):在选择元素上绑定一个事件的事件处理函数。
1 | //直接给p绑定事件 |
off(event,[selector],[fn]):在选择元素上移除一个事件的事件处理函数
Ajax
jQuery.ajax(settings):通过 HTTP 请求加载远程数据,返回其创建的 XHR 对象。
Settings:
async:Boolean 类型。默认为 true(异步)。
contentType:string 类型。默认为 application/x-www-form-urlencoded,发送信息至服务器时内容编码类型。
timeout:设置请求超时时间(毫秒)。
type:请求方式(GET 或 POST),默认为 GET。
url:默认当前页地址,发送请求的地址。
data:object/string 类型。发送到服务器的数据。
error:在请求出错时调用。传入 XHR 对象,描述错误类型的字符串
success:当请求成功之后调用,传入返回后的数据,以及包含成功代码的字符串。
Get 请求
1 | var url = 'https://api.readhub.me/topic?lastCursor=7544&pageSize=10' |
Get 请求 2
1 | var data = {lastCursor:7544,pageSize:10} |
post 请求
1 | var data = {lastCursor:7544,pageSize:10} |
jsonP 请求
1 | var url1 = 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=n' |
快捷请求函数
$.getJSON(url, [data], [callback]):通过 HTTP GET 请求获取 JSON 数据。
1 | var data = {lastCursor:7544,pageSize:10} |
也可以通过使用 JSONP 形式的回调函数来加载其他网站的数据。如:”myulr?cb=?”,jQuery 会自动替换 ? 为正确的函数名,以执行回调函数。
1 | //jsonp 请求 ,注意cb=?,?号,jq会自动生成回调函数 |
jQuery 插件参考网址
jQuery 之家http://www.htmleaf.com/
jQuery 插件库https://www.jq22.com/
本文作者:人模人样的搬砖老段
本文链接:jQuery 的一些基本内容(二)
如有错误,请及时评论或者知乎私信或者 B 站私信哦~