DOM(选择器,属性,筛选,文档处理) JQUERY

DOM(选择器,属性,筛选,文档处理)

 

选择器(基本,层级,简单,内容,可见性,属性,子元素,表单及表单对象属性)
基本

#id

根据给定的ID匹配一个元素。返回值为Element

id(String)用于搜索的,通过元素的 id 属性中给定的值

示例  查找ID为"myDiv"的元素。

<div id="notMe"><p>id="notMe"</p></div>

<div id="myDiv">id="myDiv"</div>

代码 :$("#myDiv");

结果 :<div id="myDiv">id="myDiv"</div>

 

element

根据给定的元素名匹配所有元素。返回值为 Array<Element>

element (String) : 一个用于搜索的元素。指向 DOM 的标签名。

示例  查找一个 DIV 元素。

<div>DIV1</div><div>DIV2</div><span>SPAN</span>

代码 :$("div");

结果:<div>DIV1</div><div>DIV2</div>

 

.class

根据给定的类匹配元素。返回值Array<Element>

class (String) : 一个用以搜索的类。一个元素可以有多个类,只要有一个符合就能被匹配到。

示例  查找所有类是"myClass"的元素.

<div class="notMe">div class="notMe"</div>

<div class="myClass">div class="myClass"</div>

<span class="myClass">span class="myClass"</span>

代码 :$(".myClass");

结果 :<div class="myClass">div class="myClass"</div><span class="myClass">span class="myClass"</span>

 

*

匹配所有元素 多用于结合上下文来搜索。返回值Array<Element>

示例  找到每一个元素

<div>DIV</div><span>SPAN</span><p>P</p>

代码 :$("*")

结果:<div>DIV</div><span>SPAN</span><p>P</p>

 

selector1,selectorN

将每一个选择器匹配到的元素合并后一起返回。你可以指定任意多个选择器,并将匹配到的元素合并到一个结果内。返回值Array<Element>

参数

selector1 (Selector) : 一个有效的选择器

selector2 (Selector) : 另一个有效的选择器

selectorN (Selector) : (可选) 任意多个有效选择器

示例  找到匹配任意一个类的元素。

<div>div</div>

<p class="myClass">p class="myClass"</p>

<span>span</span>

<p class="notMyClass">p class="notMyClass"</p>

代码 :$("div,span,p.myClass")

结果 :<div>div</div>, <p class="myClass">p class="myClass"</p>, <span>span</span>

 

层级

ancestor descendant

在给定的祖先元素下匹配 所有的 后代元素。返回值Array<Element>

ancestor(Selector):任何有效选择器

descendant(Selector):用以匹配元素的选择器,并且它是第一个选择器的后代元素

示例  找到表单中所有的 input 元素

<form>

<label>Name:</label>

<input name="name" />

<fieldset><label>Newsletter:</label><input name="newsletter" /></fieldset>

</form>

<input name="none" />

代码 :$("form input")

结果: <input name="name" />, <input name="newsletter" />

parent>child

在给定的父元素下匹配所有的子元素。返回值Array<Element>

parent (Selector) : 任何有效选择器

child (Selector) : 用以匹配元素的选择器,并且它是第一个选择器的子元素

示例  匹配表单中所有的子级input元素。

代码:$("form > input")

结果:<input name="name" />

 

prev+next

匹配所有紧接在prev元素后的next元素

返回值Array<Element>

prev (Selector) : 任何有效选择器

next (Selector) :一个有效选择器并且紧接着第一个选择器

示例  匹配所有跟在 label 后面的 input 元素

代码:$("label + input")

结果:<input name="name" />, <input name="newsletter" />

 

prev~siblings

匹配prev元素之后的所有siblings元素 返回值Array<Element>

prev (Selector) : 任何有效选择器

siblings (Selector) : 一个选择器,并且它作为第一个选择器的同辈

示例  找到所有与表单同辈的 input 元素

代码:$("form ~ input")

结果:<input name="none" />

 

简单

<table>

<tr><td>Header 1</td></tr><tr><td>Value 1</td></tr><tr><td>Value 2</td></tr>

</table>

 

:first 匹配找到的第一个元素

代码 : $("tr:first") 结果 :<tr><td>Header 1</td></tr>

:last 匹配找到的最后一个元素

代码 :$("tr:last") 结果 :<tr><td>Value 2</td></tr>

 

:not(selector) 去除所有与给定选择器匹配的元素

<input name="apple" />

<input name="flower" checked="checked" />

代码 :$("input:not(:checked)") 结果 :<input name="apple" />

 

:even 匹配所有索引值为偶数的元素 0 开始计数

代码 :$("tr:even") 结果 :<tr><td>Header 1</td></tr>, <tr><td>Value 2</td></tr>

 

:odd 配所有索引值为奇数的元素 0 开始计数

代码 :$("tr:odd") 结果 :<tr><td>Value 1</td></tr>

 

:eq(index) 匹配一个给定索引值的元素

代码 :$("tr:eq(1)") 结果 :<tr><td>Value 1</td></tr>

 

:gt(index) 匹配所有大于给定索引值的元素

代码 :$("tr:gt(0)") 结果 :<tr><td>Value 1</td></tr>, <tr><td>Value 2</td></tr>

:lt(index) 匹配所有小于给定索引值的元素

代码 :$("tr:lt(2)") 结果 :<tr><td>Header 1</td></tr>, <tr><td>Value 1</td></tr>

:header 匹配如 h1, h2, h3 之类的标题元素

<h1>Header 1</h1>

<p>Contents 1</p>

<h2>Header 2</h2>

<p>Contents 2</p>

代码 :$(":header").css("background", "#EEE");

结果 :<h1 style="background:#EEE;">Header 1</h1>, <h2 style="background:#EEE;">Header 2</h2>

 

:animated 匹配所有没有在执行动画效果中的元素

<button id="run">Run</button><div></div>

代码 :

$("#run").click(function(){

$("div:not(:animated)").animate({ left: "+20" }, 1000);

});

 

内容

:contains(text) 匹配包含给定文本的元素

text (String) : 一个用以查找的字符串

示例  查找所有包含 "John" div 元素

<div>John Resig</div><div>George Martin</div><div>Malcom John Sinclair</div><div>J. Ohn

代码 :$("div:contains('John')")

结果 :<div>John Resig</div>, <div>Malcom John Sinclair</div>

 

:empty 匹配所有不包含子元素或者文本的空元素

<table>

<tr><td>Value 1</td><td></td></tr>

<tr><td>Value 2</td><td></td></tr>

</table>

代码 :$("td:empty")

结果 :<td></td>, <td></td>

 

:has(selector) 匹配含有选择器所匹配的元素的元素

selector (Selector) : 一个用于筛选的选择器

示例  给所有包含 p 元素的 div 元素添加一个 text

<div><p>Hello</p></div><div>Hello again!</div>

代码 :$("div:has(p)").addClass("test");

结果 : <div class="test"><p>Hello</p></div>

 

:parent 匹配含有子元素或者文本的元素

<table>

<tr><td>Value 1</td><td></td></tr>

<tr><td>Value 2</td><td></td></tr>

</table>

代码 :$("td:parent")

结果 : <td>Value 1</td>, <td>Value 1</td>

可见性

:hidden 匹配所有的不可见元素 ,input 元素的 type 属性为 "hidden" 的话也会被匹配到

<table>

<tr style="display:none"><td>Value 1</td></tr>

<tr><td>Value 2</td></tr>

</table>

代码 :$("tr:hidden")

结果 :<tr style="display:none"><td>Value 1</td></tr>

 

:visible 匹配所有的可见元素

<table>

<tr style="display:none"><td>Value 1</td></tr>

<tr><td>Value 2</td></tr>

</table>

代码 :$("tr:visible")

结果 : <tr><td>Value 2</td></tr>

 

属性

[attribute] 匹配包含给定属性的元素

<div><p>Hello!</p></div>

<div id="test2"></div>

代码 :$("div[id]")

结果 :<div id="test2"></div>

[attribute=value] 匹配给定的属性是某个特定值的元素

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

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

<input type="checkbox" name="accept" value="Evil Plans" />

代码 :$("input[name='newsletter']"). attr("checked", true);

结果 :<input type="checkbox" name="newsletter" value="Hot Fuzz" checked="true" />, <input type="checkbox" name="newsletter" value="Cold Fusion" checked="true" />

 

[attribute!=value] 匹配给定的属性是不包含某个特定值的元素

 

[attribute^=value] 匹配给定的属性是以某些值开始的元素

<input name="newsletter" />

<input name="milkman" />

<input name="newsboy" />

代码 :$("input[name^='news']")

结果 :<input name="newsletter" />, <input name="newsboy" />

[attribute$=value] 匹配给定的属性是以某些值结尾的元素

 

[attribut*=value] 匹配给定的属性是以包含某些值的元素

 

[selector1][selector2][selectorN] 复合属性选择器 需要同时满足多个条件时使用

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

<input name="milkman" />

<input id="letterman" name="new-letterman" />

<input name="newmilk" />

代码 :$("input[id][name$='man']")

结果 : <input id="letterman" name="new-letterman" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值