jquery包含,jquery包含字符串判断

Jquery有哪些选择器

选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编写jQuery代码的效率。本文配合截图、代码和简单的概括对所有jQuery选择器进行了介绍,也列举出了一些需要注意和区分的地方。

创新互联2013年开创至今,先为黄平等服务建站,黄平等地企业,进行企业商务咨询服务。为黄平企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

一、基本选择器

1. id选择器(指定id元素)

将id="one"的元素背景色设置为黑色。(id选择器返单个元素)

$(document).ready(function () {

$('#one').css('background', '#000');

});

2. class选择器(遍历css类元素)

将class="cube"的元素背景色设为黑色

$(document).ready(function () {

$('.cube').css('background', '#000');

});

3. element选择器(遍历html元素)

将p元素的文字大小设置为12px

$(document).ready(function () {

$('p').css('font-size', '12px');

});

4. * 选择器(遍历所有元素)

$(document).ready(function () {

// 遍历form下的所有元素,将字体颜色设置为红色

$('form *').css('color', '#FF0000');

});

5. 并列选择器

$(document).ready(function () {

// 将p元素和div元素的margin设为0

$('p, div').css('margin', '0');

});

二、 层次选择器

1. parent  child(直系子元素)

$(document).ready(function () {

// 选取div下的第一代span元素,将字体颜色设为红色

$('div  span').css('color', '#FF0000');

});

下面的代码,只有第一个span会变色,第二个span不属于div的一代子元素,颜色保持不变。

div

span123/span

p

span456/span

/p

/div

2. prev + next(下一个兄弟元素,等同于next()方法)

$(document).ready(function () {

// 选取class为item的下一个div兄弟元素

$('.item + div').css('color', '#FF0000');

// 等价代码

//$('.item').next('div').css('color', '#FF0000');

});

下面的代码,只有123和789会变色

p class="item"/p

div123/div

div456/div

span class="item"/span

div789/div

3. prev ~ siblings(prev元素的所有兄弟元素,等同于nextAll()方法)

$(document).ready(function () {

// 选取class为inside之后的所有div兄弟元素

$('.inside ~ div').css('color', '#FF0000');

// 等价代码

//$('.inside').nextAll('div').css('color', '#FF0000');

});

下面的代码,G2和G4会变色

div class="inside"G1/div

divG2/div

spanG3/span

divG4/div

三、 过滤选择器

1. 基本过滤选择器

——1.1 :first和:last(取第一个元素或最后一个元素)

$(document).ready(function () {

$('span:first').css('color', '#FF0000');

$('span:last').css('color', '#FF0000');

});

下面的代码,G1(first元素)和G3(last元素)会变色

spanG1/span

spanG2/span

spanG3/span

——1.2 :not(取非元素)

$(document).ready(function () {

$('div:not(.wrap)').css('color', '#FF0000');

});

下面的代码,G1会变色

divG1/div

div class="wrap"G2/div

但是,请注意下面的代码:

div

G1

div class="wrap"G2/div

/div

当G1所在div和G2所在div是父子关系时,G1和G2都会变色。

——1.3 :even和:odd(取偶数索引或奇数索引元素,索引从0开始,even表示偶数,odd表示奇数)

$(document).ready(function () {

$('tr:even').css('background', '#EEE'); // 偶数行颜色

$('tr:odd').css('background', '#DADADA'); // 奇数行颜色

});

A、C行颜色#EEE(第一行的索引为0),B、D行颜色#DADADA

table width="200" cellpadding="0" cellspacing="0"

tbody

trtdA/td/tr

trtdB/td/tr

trtdC/td/tr

trtdD/td/tr

/tbody

/table

——1.4 :eq(x) (取指定索引的元素)

$(document).ready(function () {

$('tr:eq(2)').css('background', '#FF0000');

});

更改第三行的背景色,在上面的代码中C的背景会变色。

——1.5 :gt(x)和:lt(x)(取大于x索引或小于x索引的元素)

$(document).ready(function () {

$('ul li:gt(2)').css('color', '#FF0000');

$('ul li:lt(2)').css('color', '#0000FF');

});

L4和L5会是红色,L1和L2会是蓝色,L3是默认颜色

ul

liL1/li

liL2/li

liL3/li

liL4/li

liL5/li

/ul

——1.6 :header(取H1~H6标题元素)

$(document).ready(function () {

$(':header').css('background', '#EFEFEF');

});

下面的代码,H1~H6的背景色都会变

h1H1/h1

h2H2/h2

h3H3/h3

h4H4/h4

h5H5/h5

h6H6/h6

2. 内容过滤选择器

——2.1 :contains(text)(取包含text文本的元素)

$(document).ready(function () {

// dd元素中包含"jQuery"文本的会变色

$('dd:contains("jQuery")').css('color', '#FF0000');

});

下面的代码,第一个dd会变色

dl

dt技术/dt

ddjQuery, .NET, CLR/dd

dtSEO/dt

dd关键字排名/dd

dt其他/dt

dd/dd

/dl

——2.2 :empty(取不包含子元素或文本为空的元素)

$(document).ready(function () {

$('dd:empty').html('没有内容');

});

上面第三个dd会显示"没有内容"文本

——2.3 :has(selector)(取选择器匹配的元素)

$(document).ready(function () {

// 为包含span元素的div添加边框

$('div:has(span)').css('border', '1px solid #000');

});

即使span不是div的直系子元素,也会生效

div

h2

A

spanB/span

/h2

/div

——2.4 :parent(取包含子元素或文本的元素)

$(document).ready(function () {

$('ol li:parent').css('border', '1px solid #000');

});

下面的代码,A和D所在的li会有边框

ol

li/li

liA/li

li/li

liD/li

/ol

3. 可见性过滤选择器

——3.1 :hidden(取不可见的元素)

jQuery至1.3.2之后的:hidden选择器仅匹配display:none或input type="hidden" /的元素,而不匹配visibility: hidden或opacity:0的元素。这也意味着hidden只匹配那些“隐藏的”并且不占空间的元素,像visibility:hidden或opactity:0的元素占据了空间,会被排除在外。

参照:

下面的代码,先弹出"hello"对话框,然后hid-1会显示,hid-2仍然是不可见的。

html xmlns="" 

head runat="server"

title/title

style type="text/css"

div

{

margin: 10px;

width: 200px;

height: 40px;

border: 1px solid #FF0000;

display:block;

}

.hid-1

{

display: none;

}

.hid-2

{

visibility: hidden;

}

/style

script type="text/javascript" src="js/jquery.min.js"/script

script type="text/javascript"

$(document).ready(function() {

$('div:hidden').show(500);

alert($('input:hidden').val());

});

/script

/head

body

div class="hid-1"display: none/div

div class="hid-2"visibility: hidden/div

input type="hidden" value="hello"/

/body

/html

——3.2 :visible(取可见的元素)

下面的代码,最后一个div会有背景色

script type="text/javascript"

$(document).ready(function() {

$('div:visible').css('background', '#EEADBB');

});

/script

div class="hid-1"display: none/div

div class="hid-2"visibility: hidden/div

input type="hidden" value="hello"/

div

jQuery选择器大全

/div

4. 属性过滤选择器

——4.1 [attribute](取拥有attribute属性的元素)

下面的代码,最后一个a标签没有title属性,所以它仍然会带下划线

script type="text/javascript"

$(document).ready(function() {

$('a[title]').css('text-decoration', 'none');

});

/script       

ul

lia href="#" title="DOM对象和jQuery对象" class="item"DOM对象和jQuery对象/a/li

lia href="#" title="jQuery选择器大全" class="item-selected"jQuery选择器大全/a/li

lia href="#" title="jQuery事件大全" class="item"jQuery事件大全/a/li

lia href="#" title="基于jQuery的插件开发" class="item"基于jQuery的插件开发/a/li

lia href="#" title="Wordpress  jQuery" class="item"Wordpress  jQuery/a/li

lia href="#" class="item"其他/a/li

/ul

——4.2 [attribute = value]和[attribute != value](取attribute属性值等于value或不等于value的元素)

分别为class="item"和class!=item的a标签指定文字颜色

请问jQuery是用来干什么的?

用处:jquery是基于javascript类库的框架, 它里面提供了许多javascript类库,和一些css样式表的封装, 使用起来比较方便, 简化了用户与浏览器的交互, 提高了系统的性能和开发效率。

jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

扩展资料:

语言特点

1、快速获取文档元素

jQuery的选择机制构建于Css的选择器,它提供了快速查询DOM文档中元素的能力,而且大大强化了JavaScript中获取页面元素的方式。

2、提供漂亮的页面动态效果

jQuery中内置了一系列的动画效果,可以开发出非常漂亮的网页,许多网站都使用jQuery的内置的效果,比如淡入淡出、元素移除等动态特效。

3、创建AJAX无刷新网页

AJAX是异步的JavaScript和ML的简称,可以开发出非常灵敏无刷新的网页,特别是开发服务器端网页时,比如PHP网站,需要往返地与服务器通信,如果不使用AJAX,每次数据更新不得不重新刷新网页,而使用AJAX特效后,可以对页面进行局部刷新,提供动态的效果。

参考资料来源:百度百科--jQuery

JQuery如何判断值中是否包含某个值?

JQuery判断值中是否包含某个值的方法是利用contains函数:

1、定义一个源字符串:

var testStr = "This is a test";

2、利用contains方法测试是否含有test字样:

if(testStr.contains("test")){

alert("String Found");

}

3、结果是:

弹出窗口显示:String Found

jquery 简介

JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可。

jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。

jQuery是免费、开源的,使用MIT许可协议。jQuery的语法设计可以使开发更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页。

jQuery,顾名思义,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库。

历史

大概在 1992 年,一家称作 Nombas 的公司开发了一种叫做 C 减减(C-minus-minus,简称 Cmm)的嵌入式脚本语言。Cmm 背后的理念很简单:一个足够强大可以替代宏操作(macro)的脚本语言,同时保持与 C (和 C ++)足够的相似性,以便开发人员能很快学会。这个脚本语言捆绑在一个叫做 CEnvi 的共享软件中,它首次向开发人员展示了这种语言的威力。

Nombas 最终把 Cmm 的名字改成了 ScriptEase,原因是后面的部分(mm)听起来过于消极,同时字母 C “令人害怕”。

当 Netscape Navigator 崭露头角时,Nombas 开发了一个可以嵌入网页中的 CEnvi 的版本。这些早期的试验被称为 Espresso Page(浓咖啡般的页面),它们代表了第一个在万维网上使用的客户端语言。而 Nombas 丝毫没有料到它的理念将会成为万维网的一块重要基石。

当网上冲浪越来越流行时,对于开发客户端脚本的需求也逐渐增大。此时,大部分因特网用户还仅仅通过 28.8 kbit/s 的调制解调器连接到网络,即便这时网页已经不断地变得更大和更复杂。而更加加剧用户痛苦的是,仅仅为了简单的表单有效性验证,就要与服务器进行多次地往返交互。设想一下,用户填完一个表单,点击提交按钮,等待了 30 秒的处理后,看到的却是一条告诉你忘记填写一个必要的字段。

那时正处于技术革新最前沿的 Netscape,开始认真考虑开发一种客户端脚本语言来解决简单的处理问题。

当时工作于 Netscape 的 Brendan Eich,开始着手为即将在 1995 年发行的 Netscape Navigator 2.0 开发一个称之为 LiveScript 的脚本语言,当时的目的是在浏览器和服务器(本来要叫它 LiveWire)端使用它。Netscape 与 Sun 及时完成 LiveScript 实现。

就在 Netscape Navigator 2.0 即将正式发布前,Netscape 将其更名为 JavaScript,目的是为了利用 Java 这个因特网时髦词汇。Netscape 的赌注最终得到回报,JavaScript 从此变成了因特网的必备组件。

因为 JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0 中发布了 1.1 版。恰巧那个时候,微软决定进军浏览器,发布了 IE 3.0 并搭载了一个 JavaScript 的克隆版,叫做 JScript(这样命名是为了避免与 Netscape 潜在的许可纠纷)。微软步入 Web 浏览器领域的这重要一步虽然令其声名狼藉,但也成为 JavaScript 语言发展过程中的重要一步。

在微软进入后,有 3 种不同的 JavaScript 版本同时存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。与 C 和其他编程语言不同的是,JavaScript 并没有一个标准来统一其语法或特性,而这 3 种不同的版本恰恰突出了这个问题。随着业界担心的增加,这个语言的标准化显然已经势在必行。

2006年1月,jQuery的第一个版本面世,至今已经有10年多了(注:这个时间点是截止至出书时间)。虽然过了这么久,但它依然以其简洁、灵活的编程风格让人一见倾心。在本篇文章中,我们将讲述jQuery的发展 历史 ,让读者对jQuery有更多的了解。

在jQuery迅速发展的同时,一些大的厂商也看中了商机。2009年9月,微软和诺基亚公司正式宣布支持开源的jQuery库,另外,微软公司还宣称他们将把jQuery作为Visual Studio工具集的一部分。他将提供包括jQuery的智能提示、代码片段、示例文档编制等内容在内的功能。微软和诺基亚公司将长期成为jQuery的用户成员,其他成员还有Google,Intel,IBM,Intuit等公司。

2009年1月,jQuery 1.3版发布,它使用了全新的选择符引擎Sizzle,在各个浏览器下全面超越其他同类型JavaScript框架的查询速度,程序库的性能也因此有了极大提升。这一版本的第2个变化就是提供live()方法,使用live()方法可以为当前及将来增加的元素绑定事件,在1.3版之前,如果要为将来增加的元素绑定事件,需要使用livequery插件,而在1.3版中,可以直接用live()方法。 2005年8月,John Resig提议改进Prototype的“Behaviour”库,于是他在blog上发表了自己的想法,并用了3个例子做说明。

2010年2月,jQuery 1.4.2版发布,它新增了有关事件委托的两个方法:delegate()和undelegate()。delegate()用于替代1.3.2中的live()方法。这个方法比live()来的方便,而且也可以达到动态添加事件的作用。比如给表格的每个td绑定hover事件

特点

1.动态特效

2.AJAX

3.通过插件来扩展

4.方便的工具 - 例如浏览器版本判断

5.渐进增强

6.链式调用

7.多浏览器支持,支持Internet Explorer6.0+、Opera9.0+、Firefox2+、Safari2.0+、Chrome1.0+(在2.0.0中取消了对Internet Explorer6,7,8的支持)

历史 版本

jQuery 1.0

(2006年8月):该库的第一个稳定版本,已经具有了对CSS选择符、事件处理和AJAX交互的稳健支持。

jQuery 1.1

(2007年1月):这一版大幅简化了API。许多较少使用的方法被合并,减少了需要掌握和解释的方法数量。

jQuery 1.1.3

(2007年7月):这次小版本变化包含了对jQuery选择符引擎执行速度的显著提升。从这个版本开始,jQuery的性能达到了Prototype、Mootools以及Dojo等同类JavaScript库的水平。

jQuery 1.2

(2007年9月):这一版去掉了对XPath选择符的支持,原因是相对于CSS语法它已经变得多余了。这一版能够支持对效果的更灵活定制,而且借助新增的命名空间事件,也使插件开发变得更容易。

jQuery UI(2007年9月):这个新的插件套件是作为曾经流行但已过时的Interface插件的替代项目而发布的。jQuery UI中包含大量预定义好的部件(widget),以及一组用于构建高级元素(例如可拖放的界面元素)的工具。

jQuery 1.2.6

(2008年5月):这一版主要是将Brandon Aaron开发的流行的Dimensions插件的功能移植到了核心库中。

jQuery 1.3

(2009年1月):这一版使用了全新的选择符引擎Sizzle,库的性能也因此有了极大提升。这一版正式支持事件委托特性。

jQuery 1.3.2

(2009年2月):这次小版本升级进一步提升了库的性能,例如改进了:visible/:hidden选择符、.height()/.width()方法的底层处理机制。另外,也支持查询的元素按文档顺序返回。

jQuery 1.4

(2010年1月14号):对代码库进行了内部重写组织,开始建立一些风格规范。老的core.js文件被分为attribute.js,css.js,data.js,manipulation.js,traversing.js和queue.js;CSS和attribute的逻辑分离。

重要变化:

1. Ajax重写

Ajax模块完全进行了重写。新增一个jXHR对象,为不同浏览器内置的XMLHttpRequest提供了一致的超集。对于XMLHttpRequest之外的传输机制,比如JSONP请求,jXHR对象也可以进行处理。(详情可以参见:jQuery.ajax文档)

此外,系统的可扩展性大大增强,可以附加各种数据处理器、过滤器和传输机制,为开发新的Ajax插件提供了方便。

2. 延迟对象

延迟对象(Deferred Object,jQuery.Deferred对象)是一个可链接的(chainable)实用工具对象,实现了Promise接口,可以在回调队列中注册多个回调、调用回调队列并转发任何同步/异步函数的成败状态。正如Using Deferreds in jQuery 1.5一文中说明的,其结果是在jQuery中能够将依赖于某个任务(事件)结果的逻辑与任务本身解耦了。这一点在JavaScript中其实并不新鲜,Mochikit和Dojo等已经实现有些日子了。由于jQuery 1.5的Ajax模块内置使用了延迟对象,因此通过jQuery编写Ajax程序将自动获得这一功能。

开发人员借此可以使用无法立即获得的返回值(如异步Ajax请求的返回结果),而且第一次能够附加多个事件处理器。

例如,使用了新的jQuery内部Ajax API就可以实现下面的代码了:

// Assign handlers immediately after making the request,// and remember the jxhr object for this request var jxhr = $.ajax({ url: "example.php" }) .success(function() { alert("success"); }) .error(function() { alert("error"); }) .complete(function() { alert("complete"); });// perform other work here ... // Set another completion function for the request above jxhr.complete(function(){ alert("second complete"); });

此外,使用jQuery.Deferred还可以开发自己的延迟对象。更多详情参见:延迟对象文档。

3. jQuery.sub()

jQuery 1.5提供了一种创建和修改jQuery副本的方式。可以用来添加不向外部公开的方法,或者对jQuery的某些方法进行重新定义以提供新功能,或者提供更好的封装、避免名称空间冲突。当然,也可以用来开发插件,但Resig强烈建议在开发插件之前,先考虑jQuery UI widget工厂。

值得注意的是,sub函数并不提供真正的隔离,所有方法、数据、调用仍然依靠jQuery本身来支持。

4. 遍历性能提高

在新版本中.children(),.prev(),.next()几个常用的遍历函数性能有了显著提高。

5. 内部开发系统

John Resig还特别提到了jQuery团队内部开发系统的两点改变:一是服务器端用Node.js替换了老的Java/Rhino系统,使得团队可以专注于JavaScript环境的新变化;二是所用的代码优化程序从Google Closure切换到UglifyJS,新工具的压缩效果非常令人满意。

使用方法

jQuery可以下载使用,有两个版本的 jQuery 可供下载

Production version - 用于实际的网站中,已被精简和压缩。

Development version - 用于测试和开发(未压缩,是可读的代码)

jQuery 1.8.0版时压缩前后的对比

插件机制

jQuery的官方插件是jQuery UI。开发者可以任意扩展jQuery的函数库或者按照自己的需求开发UI组件。网上已经有数以万计的jQuery插件,覆盖各种各样的需求。例如Ajax辅助、数据表格、动态列表、XML工具、拖曳、cookie处理、弹出层等等。jQuery 的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择,例如ComponentOne Studio for ASP NET Wijmo.

随着jQuery插件在网站建设过程中的使用率不断的增加,所以有必要跟进时代步伐开发出一些新的插件/代码片段,以此来巩固并提高前端用户体验,将用户体验提升到一个新的高度。其中包括Flat jQuery Price Slider、Gmaps jQuery Map Plugin 、FormChimp——MailChimp Ajax plugin for jQuery 等。

控件

jQuery Gantt控件是一个基于原生HTML5/jQuery,功能丰富的控件,该控件真正实现了跨平台,在许多设备和浏览器中无缝的运行。

使用项目甘特图中内置的调度,依赖等功能实现任务分层列表的可视化。

使用资源甘特图实现一个资源利用视图。

使用基于API的jQuery或者基于API的MVC可帮您轻松地安装甘特图并加快应用速度。

可与诸如KnockOut(KO),jQuery.tmpl等流行的jQuery模式一同使用。


当前标题:jquery包含,jquery包含字符串判断
链接分享:http://hbruida.cn/article/dschejs.html