Jquery过滤性选择器

这里以 <li> 为例

1.第一个为li的子元素,最后一个为li的子元素    $("li:first")   $("li:last")

2.第n个子元素(从0开始索引)    $("li:eq(n-1)")

3.获取包含“text”字符串内容的全部元素对象  $( " li:contains ( ‘ text ‘ ) " )

4.获取指定包含某个元素名的全部<li>元素,比如含p元素 $( " li:has( ‘p‘ )")

5.获取全部不可见的元素 $( "li:hidden" )

6.获取全部可见的元素$("li:visible")

7.[attribute=value]获取与属性名和属性值完全相同的全部元素  如,title是“蔬菜”所在的li  $("li[title=‘蔬菜‘]")

8.[attribute*=value]获取属性值中包含指定内容的全部元素 如,包含“果”字的title所在的li  $("li[title*=‘果‘]")

9.:first-child子元素过滤选择器选择一组相同标签中的第一个元素(与first区别:first只能选择一个元素,first-child返回一个集合)

(其实这里跟父子元素没有关系,在选择的时候是以li:first-child或li:first做选择,而不是ul:first进行选择)

实操一个实例,http://www.imooc.com/code/1103

点击“更多”的时候,展示隐藏的2个li,同时将“更多”变为“简化”;点击“简化”的时候隐藏起来

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>jQuery</title>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
 <body>
 <ul>
   <li hidden>1</li>
   <li hidden>1</li>
   <li>1</li>
   <li>1</li>
   <li>1</li>
   <li>1</li>
   <li>1</li>
 </ul>

 <a href="#">更多</a>

 <script>
  var $data=$("li:hidden");
 $("a").click(function(){  

	if($("a").html()=="更多")
	{
	$data.show(1000);

	$("a").html("简化");
	}

	else if($("a").html()=="简化")
	{
	$data.hide(1000);
	$("a").html("更多");
	}
  })
 </script>

    </body>
</html>

刚开始犯了一个低级错误, var $data=$("li:hidden");放到了click函数里,导致每次都要重获取,展开后就获取不到了,所以只能展开不能隐藏。

看下正确的效果:

时间: 2024-10-09 23:13:21

Jquery过滤性选择器的相关文章

jquery学习记录二(过滤性选择器)

过滤性选择器包括: 1.:first过滤选择器 2.:eq(index)过滤选择器 3.:contains(text)过滤选择器 4.:has(selector)过滤选择器 5.:hidden过滤选择器 6.:visible过滤选择器 7.[attribute=value]属性选择器 8.[attribute!=value]属性选择器 9.[attribute*=value]属性选择器 10.:first-child子元素选择器 11.last-child子元素选择器 过滤性选择器,该类型的选择

谜一样的jquery之$选择器

jquery是一个强大的js类库,提供了很多便利的操作方法并兼容不同的浏览器,一旦使用便欲罢不能,根本停不下来,今天我们就来解读一下这个神秘的jquery源代码. 前几天思考再三,自己尝试着封装了一下jquery的$选择器,然而并不完善,我只对id,class,和标签选择器进行了封装,发现其实如果实现浅层的封装那么我们很容易就能够实现,但是一旦我们尝试着选择器的层次嵌套就会出来很多大大小小的坑! 下面我们先来看一下我个人封装的jquery的选择器部分. window.$ = function (

jquery颜色选择器

本站下载 第二种:纯JAVASCRIPT: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2311"> <title>DW调色板</title> <script> var ColorHex=new Array('00','33','66','99','CC','FF') var SpColo

jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法

1 jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 2 3 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 4 $("div") 选择所有的div标签元素,返回div元素数组 5 $(".myClass") 选择使用myClass类的css的所有元素 6 $("*") 选择文档中的所有的元素,可

关于jquery ID选择器的看法

最近看到一道前端面试题: 请优化selector写法:$(".foo div#bar:eq(0)") 我给出的答案会是: 1. $("#bar") 2.  $("div#bar") 下面说说我为什么会给出两种答案 1. 因为页面要求ID是唯一的,题目中的语句,可以直接优化成ID选择 2. 因为jQuery的选择器引擎用的是Sizzle,而$("div#bar")这样的写法,在Sizzle内部,会是一个从右往左的查找顺序,也就是

jQuery 复合选择器应用的几个例子

这篇文章主要介绍了jQuery 复合选择器应用的几个例子,本文例子所引用的jQuery版本为 jQuery-1.8.3.min.js,喜欢的朋友可以学习下 <!-- 本文例子所引用的jQuery版本为 jQuery-1.8.3.min.js --> 一. 复合选择器对checkbox的相关操作 ? 1 2 3 4 5 <input type="checkbox" id="ckb_1" />  <input type="chec

jQuery 过滤选择器

jQuery 选择器(一) 1.ID选择器根据控件ID获取jQeruy,相当于javascript的getelementById.使用方法:$("#myid"),获取ID等于myid的jquery对象. 2.标签选择器使用标签名称获取jQuery,相当于javascript的getElementsByTagName_r().使用方法:$("p"),获取所有p标签.3.class选择器class为元素的定义样式,根据class名称获取jquery对象.如:$(&quo

关于JQuery的选择器

jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div")           选择所有的div标签元素,返回div元素数组 $(".myClass")      选择使用myClass类的css的所有元素 $("*")        

jquery input 选择器

1.9.1 官方文档: 创建一个 <input> 元素必须同时设定 type 属性.因为微软规定 <input> 元素的 type 只能写一次. jQuery 代码: // 在 IE 中无效: $("<input>").attr("type", "checkbox"); // 在 IE 中有效: $("<input type='checkbox'>");   jquery inp