>  기사  >  웹 프론트엔드  >  jquery 선택기 부분 organization_jquery

jquery 선택기 부분 organization_jquery

WBOY
WBOY원래의
2016-05-16 18:43:091100검색

这个是网页版,直接用ctrl+F搜索,如果大家不是经常上网,可以用chm版的更方便些。
jQuery 1.3 API 参考手册 CHM

锋利的jquery 电子书

近期脚本之家将会将一些jquery学习教程逐步发一些。参考了锋利的jquery一书。

$的选择器部分:
凡是运用$,其返回值是一个object
$选择器主要用于选择标签.基本用法是同css的选择器.但是,很让人兴奋的是,他支持常见的浏览器,而css中很多选择器是IE6所不支持的.
1.基本选择器(3种):
$("标签名"),如$("p")是选取了所有的p标签节点
$("#id名"),如$("#test")是选取了id为test的标签节点
$(".class名"),如$(".test")是选取了所有class为test的标签节点
上面的$("标签名")和$(".class名")返回的都是所有满足的节点,至于进一步筛选可以添加一些函数,如eq,gt,lt等等.
2.组选择器:
下面还是现做一个约定:把"标签名或#id名或.class名"记作mix,则mix表示一个标签名,或一个#id或一个.class.
$("mix,mix,mix,..."),如:$("div,#test1,p,.test2,#test3")

3.后代选择器:
$("mix mix"),当然可以是多个嵌套,但后代选择器可以是深层子代,所以$("mix mix mix ...")这种写法作用不大.例子:$("div .test"):在div标签内的所有具有test的class的后代元素(就是被div嵌套的class属性为test的标签)
可以见DEMO。

4.子选择器:
$("mix>mix"),这个放在后代选择器后面是为了和它做对比.子选择器只能选择第一代子代.不处理深层嵌套.例子:
$("div>.test")

对这里的p段落标签有效.但对

对这里的p段落标签无效,这里要用
$("div .test)

5.临近选择器:
$("mix+mix"),选取下一个兄弟节点.如:$("div +#test"),id为test的的节点必须是div的下一个兄弟节点.

在$("div + #test")中能取到p段落节点

则不能取到

6.属性选择器:
把属性选择器不放在css选择器里面是因为jQuery中写法是不一样的.至于css中写法可以参考我之前写的一篇css的选择器一文.jQuery中是和xPath类似的写法:
$("mix[@attr]"):选取所有该mix且具有attr属性的节点
$("mix[@attr=a_value"]):选取所有该mix且具有attr属性并满足属性值为a_value的节点
$("mix[@attr^=a_value_head"]):attr属性的属性值是以a_value_head开头的
$("mix[@attr$=a_value_end"]):attr属性的属性值是以a_value_end结尾的
$("mix[@attr*=a_value"]):attr属性的属性值中包含a_value

7.进一步选择器:
这个名称是我自己起的,其实选择器组合都有进一步的意思,你明白后面所介绍的知识即可.
具有限定子节点选择器:$("mix1[mix2]"):返回包含mix2的mix1节点.如:$("div[a]"):包含a标签的div.
这个和$("div a")不相同.后者表示div中的a标签,返回的是a标签对象,前者返回的是div标签对象
冒号限定结点选择器:$("mix:condition"):mix标签,并且满足限定条件.
E:root:类型为E,并且是文档的根元素
E:nth-child(n):是其父元素的第n个类型为E的子元素 ,基数从1开始
E:first-child:是其父元素的第1个类型为E的子元素
E:last-child:是其父元素的最后一个类型为E的子元素
E:only-child:且是其父元素的唯一一个类型为E的子元素
E:empty:没有子元素(包括text节点)的类型为E的元素
E:enabled
E:disabled:类型为E,允许或被禁止的用户界面元素
E:checked:类型为E,处于选中状态的用户界面元素(例如单选按钮或复选框)
E:visible:选择所有可见元素(display值为block或visible,visibility值为visible元素,不包括hide域)
E:hidden:选择所有隐藏元素(非Hide域,且display值为block或visible,visibility值为visible的元素)
E:not(s):类型为E,不匹配选择器s
E:eq(n),E:gt(n),E:lt(n):元素限定
E:first:相当于E:eq(0)
E:last:最后一个匹配的元素
E:even:从匹配的元素集中取序数为偶数的元素
E:odd:从匹配的元素集中取序数为奇数的元素
E:parent:选择包含子元素(包含text节点)的所有元素
E:contains('test'):选择所有含有指定文本的元素
表单选择器:
E:input:选择表单元素(input,select,textarea,button)
E:text:选择所有文本域(type="text")
E:password:选择所有密码域(type="password")
E:radio:选择所有单选按钮(type="radio")
E:checkbox:选择所有复选框(type="checkbox")
E:submit:选择所有提交按钮(type="submit")
E:image:选择所有图像域 (type="image")
E:reset:选择所有清除域(type="reset")
E:button:选择所有按钮(type="button")
当然包括E:hidden

8.xPath路径查询:

先介绍下xPath的语法:
/:选取根节点
//:选取文档中所有符合条件的节点,不管该节点位于何处
.:选取当前节点
..:选取单前节点的父节点
@:选取属性,这个在之前说过了(属性选择器)
nodename:选取节点下的所有节点
jQuery中的应用:
根节点是很少用到的,常用的如下面的例子:
$("div/p")相当于$("div>p")
$("div//p")相当于$("div p")
$("//div/../p"):所有div节点的父节点下的p标签
还有相对路径的写法以及支持的Axis选择器,还不是会应用,不介绍了...已经一大堆了

$的其他用法:

$(html节点):根据提供的原始HTML标记字符串,动态创建由jQuery对象包装的DOM元素.如:
$("

Hello

").appendTo("#body");//把

Hello

본문 요소에 추가됨
$(document): 웹 페이지 문서 객체
$(document.body): 웹 페이지 본문 객체, $("body")
$(function ): DOM 로드 후 함수가 실행되므로 $(document).ready()는 $()
$(selector 부분, 선택기 소스)로 작성할 수 있습니다. 이 예에서는
$("input:radio " ,document.forms[0]): 문서의 첫 번째 형식에서 모든 라디오 버튼 검색
$("div",xml.responseXML): 지정된 XML 문서의 모든 div 요소 검색
소스 핸들러는 다음과 같습니다: DOM 요소, 문서 또는 컨텍스트로서의 jQuery 객체
두 가지가 더 있습니다: $.extend(prop) 및 $.noContric()은 플러그인 및 기타 라이브러리와 호환되며 나중에 작성됩니다.

jQuery의 핵심 부분에는 다음도 포함됩니다.

eq(숫자): 일치하는 요소 집합을 하나의 요소로 줄입니다. 일치하는 요소의 집합에서 이 요소의 위치는 0이 되고, 집합의 길이는 1이 됩니다.
gt(숫자): 일치하는 요소의 집합을 주어진 위치 이후의 모든 요소로 줄입니다.
lt(숫자) : Reduce 일치하는 요소 집합은 주어진 위치 이전의 모든 요소로 축소됩니다.
위 세 가지의 예:
$("div:eq(1)")//두 번째 div
$(" div: gt(2)")//세 번째 div와 다음 div
$("div:lt(2)")//두 번째 div와 이전 div, 즉 첫 번째 div와 두 번째 div div

length 또는 size(): 현재 일치하는 요소의 수

each(): 일치하는 각 요소를 컨텍스트로 사용하여 함수를 실행합니다. 이는 전달된 함수가 실행될 때마다 함수의 this 키워드가 다른 요소(매번 다른 일치 요소)를 가리킨다는 것을 의미합니다. 또한 함수가 실행될 때마다 함수는 다음을 나타내는 숫자 값을 전달합니다. 일치하는 요소 집합에서 실행 환경인 요소의 위치를 ​​매개변수로 사용합니다.
$("img").each(function(i){ this.src = "test" i ".jpg " ; });//이미지를 반복하고 src 속성을 설정합니다.

get(): 매개변수가 없으면 객체 배열인 all을 반환하고, 매개변수가 있으면 숫자여야 합니다. 기본은 0부터 시작합니다. 예:
$("div").get(): div 개체의 배열을 반환합니다.
$("div").get(1): 두 번째 div 개체를 반환합니다.
index(필수 요소 노드 개체): 숫자를 반환합니다. 예시를 사용하여 설명합니다.
$("div").index($(".test"))[1] //다음을 사용하여 클래스 속성을 찾는 것을 나타냅니다. 모든 div 노드 노드에서 테스트합니다. 그리고 우리가 찾고 있는 것은 두 번째 노드입니다(기본값은 0부터 시작함). 반환 값은 div 노드의 노드 위치입니다(기본값도 0부터 시작함).

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.