×

jquery选择器包括哪几大类 query

什么是jquery选择器?如何下载jquery

admin admin 发表于2022-07-15 21:18:18 浏览97 评论0

抢沙发发表评论

什么是jquery选择器


jQuery选择器是jQuery库中非常重要的部分之一。它支持网页开发者所熟知的CSS语法快速轻松地对页面进行设置。了解jQuery选择器是打开高效开发jQuery之门的钥匙。一个典型的jQuery选择器句法形式:
$(selector).methodName();
selector是一个字符串表达示,用于识别DOM中的元素,然后使用jQuery提供的方法集合加以设置。
大多数情况下jQuery支持这样的操作:
$(selector).method1().method2().method3();
这个实例表示隐含DOM中id=”goAway”的元素,然后为其添加一个class=”incognito”属性。
$(’#goAway’).hide().addClass(’incognito’);
提示一下:当选择器表达示匹配多个元素时,可以象JavaScritp数组操作一样,方便灵活地利用数组指针进行选取。这是例子:
var element = $(’img’);
匹配表达示的元素中,第一个元素对象将赋给变量element。
jQuery选择器的分类
有三种分类:基本选择器,位置选择器和自定义选择器。可以将基本选择器理解为“发现型选择器”,事实上它用于搜索DOM中的元素。位置选择器和自定义选择器更像是“筛选型选择器”。
基本选择器
这里提供了一份基本选择器的参考实例。这些选择器都支持CSS3语法准标和语议。
$(‘div’) 选取所有《div》元素。
$(‘fieldset a’) 选择在《fieldset》元素内出现的所有《a》元素。
$(‘li》p’) 选取在《li》标记中直接出现的所有《p》元素。
$(‘div~p’) 选取位为《div》标记之后出现的所有《p》元素。
$(‘p:has(b)’) 选取《p》元素内包含有《b》的所有元素。
$(‘div.someClass’) 选取《div》元素中出现class=”someClass”属性的所有元素。
$(‘.someClass’) 选取出现class=”someClass”属性的所有元素。
$(‘#testButton’) 选取id=”testButton”的元素。元素id属性值在当前DOM中是唯一的。因此我很好奇出现了两个id=”testButton”的元素时它会 怎么选。实验证明它只会选取第一个元素。真正的开发过程中,我们绝对不要在一个DOM中出现多个id相同的元素。
$(‘img’) 选取具有alt属性的所有《img》元素。
$(‘a’) 选取具有href属性,而且属性的值以.pdf结尾的所有《a》元素。
$(‘button’) 选取所有的按钮,但按钮的id属性要包含”test”。
提示一下:在同一个$()结构中可以用“,”来连接多个不同的选择器,比如这样:
$(’div,p’)
以下是匹配所有具有title属性的《div》元素,和所有具有alt属性的《img》元素:
$(’div‘)
位置选择器
这种类型的选择器可以附加到任何基本选择器上,用于进行基于元素位置的筛选。如果缺省基本选择器,则将被视为所有元素。
举一些例子吧。
$(’p:first’) 选取页面中第一个出现的《p》元素。
$(’img:first’) 选取页面中第一个出现src属性值以.png结尾的《img》元素。
$(’button.small:last’) 选取页面中最后一个出现class=”small”的按钮元素。
$(’li:first-child’) 选取页面中所有《li》列表的第一项元素。
$(’a:only-child’) 选取页面中所有《a》元素,但这些元素只能位于一个父级元素内。比如《li》《a href=”url”》An url《/a》《/li》,此时《li》内的《a》是匹配的。
$(‘li:nth-child(2)’) 选取父级元素中第二个《li》元素。《li》也一家要位于一个父级元素内。比如《ul》
《li》1《/li》
《li》2《/li》
《/ul》
此时《li》2《/li》是匹配的。
$(’tr:nth-child(odd)’) 选取表格中所有为奇数的行元素。
$(‘li:nth-child(3n)’) 在父级元素中有很多个《li》元素,但只选取隔3次出现的《li》元素。比如
《ul》
《li》1《/li》
《li》2《/li》
《li》3《/li》
《li》4《/li》
《li》5《/li》
《li》6《/li》
《li》7《/li》
《li》8《/li》
《/ul》
其中《li》3《/li》,《li》6《/li》匹配。
$(’li:nth-child(3n+5)’) 带有偏移量的选取。在父级元素中只选取从第5个《li》元素开始每隔3次出现的《li》元素。比如
《ul》
《li》1《/li》
《li》2《/li》
《li》3《/li》
《li》4《/li》
《li》5《/li》
《li》6《/li》
《li》7《/li》
《li》8《/li》
《/ul》
其中《li》5《/li》,《li》8《/li》匹配。
$(‘.someClass:eq(1)’) 选取页面中class=”someClass”的第二个元素。jQuery以0为基准,因此(1)表示相当于第2个。
$(‘.someClass:gt(1)’) 选取页面中所有class=”someClass”的元素,除了开头两个。
$(‘.someClass:lt(4)’) 只选取页面中所有class=”someClass”元素中最先的4个元素。
自定义选择器
jQuery提供这类的选择器用于在并不期望有CSS明确规定时,对元素进行方便快捷地选取。自定义选择器有可能会被组合起来,来看一看这些强大的选择器实例。
$(’img:animated’) 选取所有刚刚经历完动画方法调用的《img》元素。
$(’:button:hidden’) 选取所有被hide()方法隐含的按钮类型元素。
$(’input:radio:checked’)选取name=”myRadioGroup”的单选框内被选中的项目。
$(’:text:disabled’) 选取所有被禁用的文本框元素。
$(’#xyz :header’) 选取id=”xyz”元素内的所有《h》元素。
$(’option:not(:selected)’) 选取没有被选中的所有的《option》元素。
$(’#myForm button:not(.someClass)’) 选取id=”myForm”的表单内不具有class=”someClass”属性的所有按钮。
$(’select :selected’) 选取name=”choices”的《select》元素中所有被选中的《option》项。
$(’p:contains(coffee)’) 选取所有内容包含有coffee的《p》元素。
无论是单一的或是组合,jQuery选择器能创建强大而简便的一套方案,便于jQuery内置的一些方法地行极富想像力的WEB开发。

如何下载jquery


jQuery的下载和使用
1.下载 ,在浏览器中输入jQuery,找到jQuery的官网
·
· jQuery 会显示当前最新的几个版本,所以,想下载之前的版本,需将网页拉到最底下
· 找到 past releases 。点击jQuery CDN
· 再找到jQuery core 下的see all versions of jQuery core 点击进去 即可查看到所有的jQuery版本。
· 找到之后发现后面有两个选项,这两个选项都可以,只是占用大小不同,即两者的区别在于压缩和未压缩、有空格和没有空格, uncompressed 选项 为未压缩,适用于编译。 minified 选项为压缩版本。
· 下载 :对着两个选项之一 单击右键,在新网页或者新标签中打开之后就可以看到jQuery的代码 ,再Ctrl + S保存到本地就可以了。
2.在HTML中引用
注意: jQuery的引用一般放在最前面。 然后再是自己的样式。例如:
《scriptsrc=“js/jquery-1.11.1.js“》//jQuery的引用《/script》
《script》//自己的样式《/script》
举个完整的例子
《html》
《head》
《metacharset=“UTF-8“》
《title》《/title》
《/head》
《body》
《div》测试文字《/div》
《pid=“myp“》asdkh《/p》
《scriptsrc=“js/jquery-1.11.1.js“》《/script》
《script》
/*添加事件,one :这个事件只会触发一次 */
$(“#myp“).one(“click“ ,function(){
alert(“a“);
});
《/script》
《/body》
《/html》

关于jquery.ajax的例子


通过 HTTP 请求加载远程数据。jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。 最简单的情况下,$.ajax()可以不带任何参数直接使用。 注意,所有的选项都可以通过$.ajaxSetup()函数来全局设置。 回调函数 如果要处理$.ajax()得到的数据,则需要使用回调函数。beforeSend、error、dataFilter、success、complete。 beforeSend 在发送请求之前调用,并且传入一个XMLHttpRequest作为参数。error 在请求出错时调用。传入XMLHttpRequest对象,描述错误类型的字符串以及一个异常对象(如果有的话)dataFilter 在请求成功之后调用。传入返回的数据以及“dataType“参数的值。并且必须返回新的数据(可能是处理过的)传递给success回调函数。success 当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。complete 当请求完成之后调用这个函数,无论成功或失败。传入XMLHttpRequest对象,以及一个包含成功或错误代码的字符串。数据类型 $.ajax()函数依赖服务器提供的信息来处理返回的数据。如果服务器报告说返回的数据是XML,那么返回的结果就可以用普通的XML方法或者jQuery的选择器来遍历。如果见得到其他类型,比如HTML,则数据就以文本形式来对待。 通过dataType选项还可以指定其他不同数据处理方式。除了单纯的XML,还可以指定 html、json、jsonp、script或者text。 其中,text和xml类型返回的数据不会经过处理。数据仅仅简单的将XMLHttpRequest的responseText或responseHTML属性传递给success回调函数, 注意,我们必须确保网页服务器报告的MIME类型与我们选择的dataType所匹配。比如说,XML的话,服务器端就必须声明 text/xml 或者 application/xml 来获得一致的结果。 如果指定为html类型,任何内嵌的JavaScript都会在HTML作为一个字符串返回之前执行。类似的,指定script类型的话,也会先执行服务器端生成JavaScript,然后再把脚本作为一个文本数据返回。 如果指定为json类型,则会把获取到的数据作为一个JavaScript对象来解析,并且把构建好的对象作为结果返回。为了实现这个目的,他首先尝试使用JSON.parse()。如果浏览器不支持,则使用一个函数来构建。JSON数据是一种能很方便通过JavaScript解析的结构化数据。如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型。使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面。服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求。如果要指定回调函数的参数名来取代默认的callback,可以通过设置$.ajax()的jsonp参数。 注意,JSONP是JSON格式的扩展。他要求一些服务器端的代码来检测并处理查询字符串参数。更多信息可以参阅 最初的文章。 如果指定了script或者jsonp类型,那么当从服务器接收到数据时,实际上是用了《script》标签而不是XMLHttpRequest对象。这种情况下,$.ajax()不再返回一个XMLHttpRequest对象,并且也不会传递事件处理函数,比如beforeSend。 发送数据到服务器 默认情况下,Ajax请求使用GET方法。如果要使用POST方法,可以设定type参数值。这个选项也会影响data选项中的内容如何发送到服务器。 data选项既可以包含一个查询字符串,比如 key1=value1&key2=value2 ,也可以是一个映射,比如 {key1: ’value1’, key2: ’value2’} 。如果使用了后者的形式,则数据再发送器会被转换成查询字符串。这个处理过程也可以通过设置processData选项为false来回避。如果我们希望发送一个XML对象给服务器时,这种处理可能并不合适。并且在这种情况下,我们也应当改变contentType选项的值,用其他合适的MIME类型来取代默认的 application/x-www-form-urlencoded 。 高级选项 global选项用于阻止响应注册的回调函数,比如.ajaxSend,或者ajaxError,以及类似的方法。这在有些时候很有用,比如发送的请求非常频繁且简短的时候,就可以在ajaxSend里禁用这个。更多关于这些方法的详细信息,请参阅下面的内容。 如果服务器需要HTTP认证,可以使用用户名和密码可以通过username和password选项来设置。 Ajax请求是限时的,所以错误警告被捕获并处理后,可以用来提升用户体验。请求超时这个参数通常就保留其默认值,要不就通过jQuery.ajaxSetup来全局设定,很少为特定的请求重新设置timeout选项。 默认情况下,请求总会被发出去,但浏览器有可能从他的缓存中调取数据。要禁止使用缓存的结果,可以设置cache参数为false。如果希望判断数据自从上次请求后没有更改过就报告出错的话,可以设置ifModified为true。 scriptCharset允许给《script》标签的请求设定一个特定的字符集,用于script或者jsonp类似的数据。当脚本和页面字符集不同时,这特别好用。 Ajax的第一个字母是asynchronous的开头字母,这意味着所有的操作都是并行的,完成的顺序没有前后关系。$.ajax()的async参数总是设置成true,这标志着在请求开始后,其他代码依然能够执行。强烈不建议把这个选项设置成false,这意味着所有的请求都不再是异步的了,这也会导致浏览器被锁死。 $.ajax函数返回他创建的XMLHttpRequest对象。通常jQuery只在内部处理并创建这个对象,但用户也可以通过xhr选项来传递一个自己创建的xhr对象。返回的对象通常已经被丢弃了,但依然提供一个底层接口来观察和操控请求。比如说,调用对象上的.abort()可以在请求完成前挂起请求。参数
options (可选)ObjectAJAX 请求设置。所有选项都是可选的。选项
asyncBoolean(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。beforeSend(XHR)Function发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。这是一个 Ajax 事件。如果返回false可以取消本次ajax请求。 function (XMLHttpRequest) { this; // 调用本次AJAX请求时传递的options参数}cacheBoolean(默认: true,dataType为script和jsonp时默认为false) jQuery 1.2 新功能,设置为 false 将不缓存此页面。complete(XHR, TS)Function请求完成后回调函数 (请求成功或失败之后均调用)。参数: XMLHttpRequest 对象和一个描述成功请求类型的字符串。 Ajax 事件。 function (XMLHttpRequest, textStatus) { this; // 调用本次AJAX请求时传递的options参数}contentTypeString(默认: “application/x-www-form-urlencoded“) 发送信息至服务器时内容编码类型。默认值适合大多数情况。如果你明确地传递了一个content-type给 $.ajax() 那么他必定会发送给服务器(即使没有数据要发送)contextObject这个对象用于设置Ajax相关回调函数的上下文。也就是说,让回调函数内this指向这个对象(如果不设定这个参数,那么this就指向调用本次AJAX请求时传递的options参数)。比如指定一个DOM元素作为context参数,这样就设置了success回调函数的上下文为这个DOM元素。就像这样: $.ajax({ url: “test.html“, context: document.body, success: function(){ $(this).addClass(“done“);}});dataObject,String发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:; $.ajax({ url: “page.php“, processData: false, data: xmlDocument, success: handleResponse });
-jquery选择器包括哪几大类