本文实例讲述了JQuery常用选择器功能与用法。分享给大家供大家参考,具体如下:JQuery基础
本文实例讲述了JQuery常用选择器功能与用法。分享给大家供大家参考,具体如下:
JQuery基础回顾
今天对JQuery内容进行了回顾,下面进行一些总结:
JQuery是javascript的一个库,所以二者可以相互转换,例如JQuery到Javascript,用$()获取元素,传给JS的var变量。反之JS的getElement方法获取var变量后,可以通过$(var)转化成JQuery对象。
JQuery的选择器,
id选择$("#id"),class选择$(".class"),元素选择$("elemrnt"),选择所有$("*")。层级选择器有:子选择器$("parent>child")选中直接子代,后代选择器$("ancensterdescendant")选中所有的后代元素,相邻兄弟选择器$("prev+next")选中prev之后的第一个next节点,一般兄弟选择$("prev~siblings")选中prev之后所有siblings元素。Jquery常用属性选择器如下:
$(“:first”) |
选中第一个元素 |
$(“:last”) |
选中最后一个元素 |
$(“:eq(n-1)”) |
选中第n个元素 |
$(“:gt(n-1)”) |
选中n个以后的所有 |
$(“:lt(n-1)”) |
选中n个以前的所有 |
$(“:even”) |
选中偶数个元素 |
$(“:odd”) |
选中奇数个的元素 |
$(“:not(selector)”) |
选中除selector选择外的所有 |
$(“:animated”) |
选中执行动画的元素 |
$(“: header”) |
选中标题元素,如h1、h2 |
$(“:visible”) |
选中可见的元素 |
$(“:hidden”) |
选中隐藏的元素 |
子元素选择器
$(“:first-child”) |
选择第一个元素 |
$(“:last-child”) |
选择最后一个元素 |
$(“:only-child”) |
选择没有兄弟的元素 |
$(“:nth-child(n)”) |
选择第n个元素 |
$(“:nth-last-child(n)”) |
选择倒数第n个元素 |
First与first-child区别:
<ul>
<li>第1个ul的第1个li</li>
<li>第1个ul的第2个li</li>
<li>第1个ul的第3个li</li>
</ul>
<ul>
<li>第2个ul的第1个li</li>
<li>第2个ul的第2个li</li>
<li>第2个ul的第3个li</li>
</ul>
first表示(所有父元素合并后的)第一个元素;first-child表示(每个父元素的)第一个
$('ul li:first')
返回"第1个ul的第1个li"。 查找所有ul下第一个li元素
$("ul li:first-child")
返回"第1个ul的第1个li"与"第2个ul的第1个li"。 查找每个ul下第一个元素是li元素dom元素。
常用内容选择器如下:
$(“:contains(‘text')”) |
选中包含文本text的元素 |
$(“:parent”) |
选中包含内容(节点或文本)的元素 |
$(“empty”) |
选中不包含任何内容的元素 |
$(“:has(selector)”) |
选中包含selector选择器的元素 |
属性内容选择器:
$(“[attribute]”) |
选中包含指定属性的元素 |
$(“[attribute='value']”) |
选中属性等于指定值的元素 |
$(“[attribute!='value']”) |
选中属性不等于指定值的元素 |
$(“[attribute^='value']”) |
选中属性以指定值开头的元素 |
$(“[attribute$='value']”) |
选中属性以指定值结尾的元素 |
$(“[attribute*='value']”) |
选中属性包含指定值的元素 |
$(“[attribute|='value']”) |
选中属性以指定值为前缀+'-‘的元素 |
$(“[attribute~='value']”) |
选中属性以指定值为前缀+空格的元素 |
$(“[attribute1] [attributeN]”) |
多个属性值括号可并列复选 |
例如:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>属性筛选选择器</title>
<link rel="stylesheet" href="imooc.css" rel="external nofollow" type="text/css">
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>
<body>
<h3>[att=val]、[att]、[att|=val]、[att~=val]</h3>
<div class="left" testattr="true" >
<div class="div" testattr="true" name='p1'>
<a>[att=val]</a>
</div>
<div class="div" testattr="true" p2>
<a>[att]</a>
</div>
<div class="div" testattr="true" name="t-est">
<a>[att|=val]</a>
</div>
<div class="div" testattr="true" name="a b">
<a>[att~=val]</a>
</div>
</div>
<script type="text/javascript">
//查找所有div中,属性name=p1的div元素
$('div[name=p1]').css("border", "3px groove red");
//查找所有div中,有属性p2的div元素
$("div[p2]").css("border", "3px groove blue");
//查找所有div中,属性name中包含一个连字符"-"为前缀的div元素
$('div[name|="t"]').css("border", "3px groove #00FF00");
//查找所有div中,属性name中包含一个连字符"空"和"a"的div元素
$("div[name~='a']").css("border", "3px groove pink");
</script>
<h3>[att^=val]、[att*=val]、[att$=val]、[att!=val]</h3>
<div class="left" testattr="true" >
<div class="div" testattr="true" name='start-name'>
<a>[att^=val]</a>
</div>
<div class="div" testattr="true" name='name-end'>
<a>[att$=val]</a>
</div>
<div class="div" testattr="true" name="attr-test-selector">
<a>[att*=val]</a>
</div>
<div class="div" name="a b">
<a>[att!=val]</a>
</div>
</div>
<script type="text/javascript">
//查找所有div中,属性name的值是用start开头的
$("div[name^='start']").css("border", "3px groove red");
//查找所有div中,属性name的值是用end结尾的
$("div[name$='end']").css("border", "3px groove blue");
//查找所有div中,有属性name中的值包含一个test字符串的div元素
$("div[name*='test']").css("border", "3px groove #00FF00");
//查找所有div中,有属性testattr中的值没有包含"true"的div
$("div[testattr!='true']").css("border", "3px groove #668B8B");
</script>
</body>
</html>
结果如下:
表单选择器
$(“input:type”) |
选择类型为type的表单元素 |
$(“:enabled”) |
选择激活的表单元素 |
$(“:disabled”) |
选择不可用的表单元素 |
$(“:checked”) |
选择选中的表单元素 |
$(“:selected”) |
选择选中的option元素 |