jquery插件的总结

一:基本:

*

.class

#id

element

二:选择器

1、jQuery( "parent > child" )​   如:$('ul.list>li') 表示class名为ul下的li

2、jQuery( "ancestor descendant" )

ancestor: 任何有效的选择器。

descendant: 一个用来筛选后代元素的选择器。

如:$(' ul li')

3、jQuery( "prev + next" )

prev: 任何有效的选择器。

next: 用于筛选紧跟在 "prev" 后面的元素的选择器。

如:$('input div')

4、jQuery( "prev ~ siblings" )

prev: 任何有效的选择器

siblings: 一个选择器来过滤第一选择器以后的兄弟元素。

如:$("#prev ~ div").css("border", "3px groove blue")

三:基本筛选

1、jQuery( ":eq(index)" )
​​如:$("td:eq(2)").css("color", "red")

2、jQuery( ":even" )​ 偶数选择器

特别地注意的是,这是基于0的索引,所以:even选择器是选择第一个元素,第三个元素,依此类推在匹配。查找表格中索引值是偶数的行(即实际表格中的奇数行),即匹配第一行、第三行、第五行等 (索引值是 0, 2 ,4 等 )

如:$("tr:even").css("background-color", "#bbbbff")


jQuery( ":odd" )​奇数选择器

特别地注意的是,这是基于0的索引,所以:odd选择器是选择第二个元素,第四个元素,依此类推在匹配。

​3、jQuery( ":first" ) 

:first伪类选择器相当于:eq(0)。它也可以写为:lt(1)。虽然:first只匹配一个单独的元素,但是:first-child选择器可以匹配多个:即为每个父级元素匹配第一个子元素。

如:$("tr:first").css("font-style", "italic")

4、jQuery( ":gt(index)" )​

这种索引相关的选择器(包括这个“大于”选择器),会在先前提供的选择器筛选出的元素基础上再进行筛选。

​如:$( "td:gt(4)" ).css( "backgroundColor", "yellow" ) 从第五个开始

jQuery( ":lt(index)" )

这种索引相关的选择器(包括这个“小于”选择器)会在先前提供的选择器筛选出的元素基础上再进行筛选

5、jQuery( ":header" )

因为:header() 是一个 jQuery 延伸出来的一个选择器 并且不是的CSS规范的一部分, 使用:header()查询不能充分利用原生DOM提供的querySelectorAll() 方法来提高性能。为了在现代浏览器上获得更佳的性能,请使用.filter(":header")代替。

如:$(":header").css({ background:'#CCC', color:'blue' })​标题的元素都改变

6、jQuery( ":lang(language)" )​

:lang选择器,匹配有一个语言值等于所提供的语言代码,或以提供的语言代码开始,后面马上跟一个“ - ”的元素。例如,选择器$("div:lang(en)")将匹配

and
(和他们的后代
),但不包括

如:$( "div:lang(en-us)" ).addClass( "usa" )

7、jQuery( ":last" )

如:$('div:last')

​8、jQuery( ":not(selector)" )

.not()方法可以让代码更易读。而使用 :not() 通常会构建出一个非常复杂的选择器。所以大多数情况下,推荐使用.not()方法。

如:$("input:not(:checked) + span").css("background-color","yellow")​查找所有没有被选中的复选框,然后高亮后面的 span。注意,当你点击复选框的时候不会有反应,因为没有绑定任何点击事件。

​四:内容筛选

1、jQuery( ":contains(text)" )​

匹配的文本可以直接出现在所选的元素中,或在该元素的任何后代中,或两者兼有。正如属性值选择器,:contains()选择器中括号内的文字,可为纯文本,或用引号包围。文本必须有匹配的情况下被选中。

如:$("div:contains('John')").css("text-decoration", "underline");

John Resig

George Martin

Malcom John Sinclair

2、jQuery( ":empty" )

这个和:parent选择器相反。

需要注意的一件重要的事情是:empty(和 :parent)的子元素包括文本节点。

如:

<<span>html>

<<span>head>

<<span>style>

td { text-align:center; }

</<span>style>

<<span>script src="http://code.jquery.com/jquery-latest.js"></<span>script>

</<span>head>

<<span>body>

<<span>table border="1">

<<span>tr><<span>td>TD #0</<span>td><<span>td></<span>td></<span>tr>

<<span>tr><<span>td>TD #2</<span>td><<span>td></<span>td></<span>tr>

<<span>tr><<span>td></<span>td><<span>td>TD#5</<span>td></<span>tr>

</<span>table>

<<span>script>$("td:empty").text("Was empty!").css('background', 'rgb(255,220,200)');</<span>script>

</<span>body>

</<span>html>

​3、jQuery( ":has(selector)" )

如果表达式$('div:has(p)') 匹配一个

,那么应有一个

存在于

后代元素中的任何地方,不是直接的子元素也可以。

如:$("div:has(p)").addClass("test")

4、jQuery( ":parent" )  这个表示有元素,而empty表示空元素

这个正好和:empty相反。

如:<<span>script>$("td:parent").fadeTo(1500, 0.3)​

五:可见性选择器

1、jQuery( ":hidden" )​

元素可以被认为是隐藏的几个情况:

他们的CSS display值是none

他们是type="hidden"的表单元素。

  • 它们的宽度和高度都显式设置为0。
  • 一个祖先元素是隐藏的,因此该元素是不会在页面上显示。
  • 如:$("div:hidden").show(3000);
  • 2、jQuery( ":visible" )
  • 如果元素中占据文档中一定的空间,元素被认为是可见的。可见元素的宽度或高度,是大于零。

元素的visibility: hidden 或 opacity: 0被认为是可见的,因为他们仍然占用空间布局。

不在文档中的元素是被认为隐藏的;jQuery没有办法知道他们是否是可见的,因为元素可见性依赖于适用的样式。

所以 option 元素是被认为是隐藏的, 不管他们是否selected(选中)状态.

如:

<<span>html>

<<span>head>

<<span>style>

div { width:50px; height:40px; margin:5px; border:3px outset green; float:left; }

.starthidden { display:none; }

</<span>style>

<<span>script src="http://code.jquery.com/jquery-latest.js"></<span>script>

</<span>head>

<<span>body>

<<span>button>Show hidden to see they don't change</<span>button>

<<span>div></<span>div>

<<span>div class="starthidden"></<span>div>

<<span>div></<span>div>

<<span>div></<span>div>

<<span>div style="display:none;"></<span>div>

<<span>script>

$("div:visible").click(function () {

$(this).css("background", "yellow");

});

$("button").click(function () {

$("div:hidden").show("fast");

});

</<span>script>

</<span>body>

</<span>html>

六:属性

1、jQuery( "[attribute|='value']" )

选择指定属性值等于给定字符串或以该字符串为前缀(该字符串后跟一个连字符“-” )的元素。

如:$('a[hreflang|="en"]').css('border','3px dotted green');

2、jQuery( "[attribute*='value']" )

这是最慷慨的jQuery的属性选择器匹配一个值。如果选择器的字符串内的任何地方出现的元素的属性值,它会被选择。

<<span>head>

<<span>script src="http://code.jquery.com/jquery-latest.js"></<span>script>

</<span>head>

<<span>body>

<<span>input name="man-news" />

<<span>input name="milkman" />

<<span>input name="letterman2" />

<<span>input name="newmilk" />

<<span>script>$('input[name*="man"]').val('has man in it!');</<span>script>

</<span>body>

3、jQuery( "[attribute~='value']" )

这个选择器测试属性值中的每个单词字符串,其中“word”是一个由空白分隔的字符串定义的。如果测试字符串恰好等于任何一个字词这个选择器将选择。

只有单独存在这个单词或元素才选择成功

<<span>body>

<<span>input name="man-news" />

<<span style="">input name="milk man" />

<<span>input name="letterman2" />

<<span>input name="newmilk" />

<<span>script>$('input[name~="man"]').val('mr. man is in it!');</<span>script>

</<span>body>

4、jQuery( "[attribute$='value']" )
​查找所有的属性名称以“letter”的结束,并把他们的文字输入

<<span>input name="newsletter" />

<<span>input name="milkman" />

<<span>input name="jobletter" />

<<span>script>$('input[name$="letter"]').val('a letter');</<span>script>

​5、jQuery( "[attribute='value']" )

查找所有属性值为 'Hot Fuzz' 的 input 元素,并且将跟在它后面的 span 元素中的文本修改成 " Hot Fuzz"。​

<<span>div>

<<span>label>

<<span>input type="radio" name="newsletter" value="Hot Fuzz" />

<<span>span>name?</<span>span>

</<span>label>

</<span>div>

<<span>div>

<<span>label>

<<span>input type="radio" name="newsletter" value="Cold Fusion"/>

<<span>span>value?</<span>span>

</<span>label>

</<span>div>

<<span>div>

<<span>label>

<<span>input type="radio" name="newsletter" value="Evil Plans" />

<<span>span>value?</<span>span>

</<span>label>

</<span>div>

<<span>script>$('input[value="Hot Fuzz"]').next().text(" Hot Fuzz");</<span>script>

六、子选择器

1、jQuery( ":first-child" )
​虽然:first只匹配一个单独的元素,但是:first-child选择器可以匹配多个:即为每个父级元素匹配第一个子元素。这相当于:nth-child(1)

<<span>div>

<<span>span>John,</<span>span>

<<span>span>Karl,</<span>span>

<<span>span>Brandon</<span>span>

</<span>div>

<<span>div>

<<span>span>Glen,</<span>span>

<<span>span>Tane,</<span>span>

<<span>span>Ralph</<span>span>

</<span>div>

<<span>script>

$("div span:first-child")

.css("text-decoration", "underline")

.hover(function () {

$(this).addClass("sogreen");

}, function () {

$(this).removeClass("sogreen");

});

</<span>script>

2、jQuery( ":first-of-type" )

:first-of-type 选择器匹配元素,在文档树中,相同的父元素并且在其他相同的元素名称之前

<<span>div>

<<span>span>Corey,</<span>span>

<<span>span>Yehuda,</<span>span>

<<span>span>Adam,</<span>span>

<<span>span>Todd</<span>span>

</<span>div>

<<span>div>

<<span>b>Nobody,</<span>b>

<<span>span>Jörn,</<span>span>

<<span>span>Scott,</<span>span>

<<span>span>Timo</<span>span>

</<span>div>

<<span>script>

$("span:first-of-type").addClass("fot");

</<span>script>

3、jQuery( ":nth-child(index/even/odd/equation)" )

index: 每个相匹配子元素的索引值,从1开始,也可以是字符串 even 或 odd,或一个方程式( 例如 :nth-child(even):nth-child(4n) )。

因为jQuery的实现:nth-child(n)是严格来自CSS规范,所以n值是“1索引”,也就是说,从1开始计数。对于所有其他选择器表达式,jQuery遵循JavaScript的“0索引”的计数。因此,给定一个单一

  • 包含两个
  • , $('li:nth-child(1)')选择第一个
  • ,而$('li:eq(1)')选择第二个。

    4、jQuery( ":only-child" )​

    若父元素有其他子元素,就不会被匹配

    <<span>div>

    <<span>button>Sibling!</<span>button>

    <<span>button>Sibling!</<span>button>

    </<span>div>

    <<span style="">div>

    <<span style="">button>Sibling! 只有这个button才有效

    </<span style="">div>

    <<span>div>

    None

    </<span>div>

    <<span>div>

    <<span>button>Sibling!</<span>button>

    <<span>button>Sibling!</<span>button>

    <<span>button>Sibling!</<span>button>

    </<span>div>

    <<span>div>

    <<span>button>Sibling!</<span>button>

    </<span>div>

    <<span>script>

    $("div button:only-child").text("Alone").css("border", "2px blue solid");

    </<span>script>

    七:表单选择器

    1、jQuery( ":button" )

    一个和$(":button")等价的选择器,使用有效的CSS是$("button, input[type='button']")

    <<span>form>

    <<span>fieldset>

    <<span style="">input type="button" value="Input Button"/> 被选中的含有button的属性

    <<span>input type="checkbox" />

    <<span>input type="file" />

    <<span>input type="hidden" />

    <<span>input type="image" />

    <<span>input type="password" />

    <<span>input type="radio" />

    <<span>input type="reset" />

    <<span>input type="submit" />

    <<span>input type="text" />

    <<span>select><<span>option>Option<<span>option/></<span>select>

    <<span>textarea></<span>textarea>

    <<span style="">button>Button 被选中的button标签 

    </<span>fieldset>

    </<span>form>

    <<span>div>

    </<span>div>

    <<span>script>

    var input = $(":button").addClass("marked");

    $("div").text( "For this type jQuery found " + input.length + ".");

    $("form").submit(function () { return false; }); // so it won't submit

    </<span>script>

    2、jQuery( ":checkbox" )

    $(':checkbox') 等同于 $('[type=checkbox]')。如同其他伪类选择器(那些以“:”开始)建议前面加上一个标记名称或其他选择器;否则,默认使用通用选择("*")。换句话说$(':checkbox') 等同于 $('*:checkbox'),所以应该使用$('input:checkbox')来提升效率。

    3、jQuery( ":checked" )

    这个:checked 选择器适用于复选框和单选框。对于下拉框元素, 使用 :selected 选择器。

    $( "input[type=checkbox]" ).on( "click", countChecked )

    4、jQuery( ":disabled" )​

    :disabled 选择器仅可用于选择支持disabled属性(attribute)的HTML元素(, 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值