1.filter():筛选函数
1>:筛选单个元素,
object.filter("selector")
2>筛选多个元素:
object.filter("selector,selector")
<span class="yes"></span>
<span>no or yes</span>

<span class="no"></span>

 $("span").filter(".yes,.no").text("yes or no");
3>,通过一个函数返回值来确定筛选的selector
<span class="yes"></span>
<span><p>no or yes</span>

<span class="no"></span>

$("span").filter(function(){
        return $("p",this).length==0;

}).text("return一个selector");

 
2.is()函数:根据选择器、DOM元素,jq对象来检测匹配元素的集合
1>,根据选择器
<div class="box" id="new"></div>
console.log($(".box").is("#new"));
2>,根据DOM元素
<form><input type="checkbox" /></form>
$("input[type='checkbox']").parent().is("form")

3>,function检测

<ul>
            <li><strong>1</strong></li>
            <li><strong>1</strong>+<strong>2</strong></li>

</ul>

$("li").on("click",function(e){
                var $li=$(e.target);
                var onoff=$li.is(function(){
                    return $("strong",this).length==2;
                })
                if (onoff) {
                    $li.css("background","red");
                } else{
                    $li.css("background","green");
                }

})

3,map函数:将一组元素转化成其他数组,也可以认为是一个遍历函数
$("p").append( $("input").map(function(){
return $(this).val();
}).get().join(", ") );
在p中插入一个 以“,”为间隔并且由所有input元素的value值而组成的数组,

get()函数是一个获得选择器指定的DOM元素

4,not(selector||DOMelement||原生js所指定的元素)函数,从指定的集合中删除selector指定||DOMelement的元素
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li id="notli">list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
$('li').not(document.getElementById('notli')).css('background-color', 'red');
<p>1</p>
<p class="p1">2</p>
<p>3</p>
$("p").not("p.p1").css("background","#FF0000");

5,has(selector||element)函数:保留包含特定后代的元素,

<ul><li>1</li></ul>
<ul><li class="li1">1</li></ul>
$("ul").has("li.li1").css("background","red");
6,slice(index,index)函数截取一个集合的一部分。
index是正数时,以0为起点,从左到右
index是负数时,以-1为起点,从右到左。
<p>1</p>
<p>2</p>
<p>3</p>

<p>4</p>

1>,slice(index),从index后的元素开始,到结尾。
$("p").slice(2).css("background","aqua"); //3 ,4 的背景还换成aqua的颜色
2>,slice(index1,index2) 从index1开始到index2-1的元素片段
$("p").slice(0,2).css("background","aqua");//0 ,1 的背景还换成aqua的颜色
 
7,object.children(selector):children可以选择性的选择元素的某个子元素
<ul>
            <li>1</li>
            <li class="theli">2</li>
            <li>3</li>

</ul>

console.log($("ul").children(".theli").text());
但是children只是针对于他的儿子辈的元素,对孙子辈的元素没有作用
<ul>
<li class="theli">2</li>
<li><p class="theli">2-1</p></li>

</ul>

console.log($("ul").children(".theli").css("color", "red"));
仅仅 li.theli 换了颜色,而p.theli没有换颜色
8.find()函数: find() 方法获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。
9,:animate伪类筛选:匹配所有正在执行动画效果的元素,各伪类之间可以相互配合
$("*:not(:animated)").animate({
                left:"+=200"

},2000);

10,lang伪类:lang是指的是语言编码,有时并不起作用
11,:contains(text) 匹配包含给定文本的元素
<p>王瑞睿</p>
<p>莱索</p>

<p>苏 莱索</p>

console.log($("p:contains('莱索')").length); //2 返回一个数组对象
12,:empty :匹配所有不包含文本或者不包含子元素的空元素
<p></p>   //empty
<p></p>   //empty

<p></p>   //empty

$("p:empty").text("empty");
相反的是:parent伪类 筛选的是非空元素
13,object.has(element):在object集合中寻找has element 的元素并且进行操作
<p><em></em></p> //莱索

<p></p>

$("p:has(em)").find("em").text("莱索");
14,复合属性选择器,需要同时满足多个条件使用
<p class="new">1</p>
<p class="new" type="p">2</p>

<p class="new" id="new" type="p">3</p>

$("p[class='new'][id='new'][type='p']").text() //3
15.[attribute] :是否拥有 attribute 这个属性
[attribute=value] :attribute 是否等于value值
[attribute!=value]:匹配所有不含有指定的属性,或者属性不等于特定值的元素。
[attribute^=value]:正则语法
[attribute$=value]:同上
[attribute *=value1]  :attribute的值包括value1的值
16,:first-child||:last-child  匹配元素集合中的第一个||最后一个子元素
<ul>
            <li>John</li>
            <li>Karl</li>
            <li>Brandon</li>
</ul>
<ul>
            <li>Glen</li>
            <li>Tane</li>
            <li>Ralph</li>

</ul>

$("ul li:first-child").css("background","red"); 
$("ul li:last-child").css("background","red");
17,:first-of-child||:last-of-child
选择器匹配在文档树中,具有相同的父元素,并且位置处于第一个||最后一个
<p>
            <span>1</span> //saddlebrown
            <span>2</span>
            <span>3</span>  //saddlebrown

</p>

$("span:last-of-type").css("background","saddlebrown"); 
$("span:first-of-type").css("background","saddlebrown");
5,parents()函数:获取元素的所有的祖先节点,
closest(selector)函数:通过selector来指定所在元素的祖先元素,包括元素本身
6,siblings(selector)函数:获取所在元素的同级的selector选的兄弟元素
nextAll()函数:获取元素的之后的所有的同级元素,相反的,prevAll()函数是获取元素之前所有的同级元素。
<ul>
        <li>1</li>
        <li class="theli">2</li>
        <li>3</li>
        <li>4</li>

</ul>

$(".theli").siblings("#theli").css("background","rosybrown");

$(".theli").nextAll().css("background","rosybrown");

7,until函数:
nextUntil(selector)函数:元素之后的同级元素到selector所选中的元素截止,不包括selector所选中的元素。
prevUntil(selector)函数:
parentsUntil()函数:
<ul>
            <li class="theli">1</li>
            <li >2</li>  //css("background","#0000FF")
            <li id="theli">3</li>
            <li>4</li>

</ul>

 $(".theli").nextUntil("li:nth-child(3)").css("background","#0000FF");
 $(".theli").parentsUntil("body").css("background","saddlebrown");//父级的取值截止

:first-child

js筛选的更多相关文章

  1. (六)Net Core项目使用Controller之一 c# log4net 不输出日志 .NET Standard库引用导致的FileNotFoundException探究 获取json串里的某个属性值 common.js 如何调用common.js js 筛选数据 Join 具体用法

    (六)Net Core项目使用Controller之一 一.简介 1.当前最流行的开发模式是前后端分离,Controller作为后端的核心输出,是开发人员使用最多的技术点. 2.个人所在的团队已经选择 ...

  2. c#中如何不通过后台直接用js筛选gridview中的数据条件筛选查询?

    js: //条件筛选 var showstate = true; function imagechange() { if (showstate) { $('#_toggle').hide(500, f ...

  3. 用js筛选数据排序

    题目 参考以下示例代码,页面加载后,将提供的空气质量数据数组,按照某种逻辑(比如空气质量大于60)进行过滤筛选,最后将符合条件的数据按照一定的格式要求显示 <!DOCTYPE html> ...

  4. 最近用到js筛选一个url的域名部分(草创)

    var TLD = ['com','net','org','gov','edu','mil','biz','name','info','mobi','cn','hk']; var host = ''; ...

  5. js 筛选数据

    <input type="text" id="filterName"> <div class="scope fr"> ...

  6. util.select.js

    ylbtech-JavaScript-util: util.select.js 筛选工具 1.A,JS-效果图返回顶部   1.B,JS-Source Code(源代码)返回顶部 1.B.1, m.y ...

  7. gulp-gulpfile.js语法说明

    关于gulpfile文件: 直接上代码吧!! /*! * gulp * $ npm install gulp gulp-ruby-sass gulp-cached gulp-uglify gulp-r ...

  8. React-Native 之 GD (十六)首页筛选功能

    1.首页筛选功能 GDCommunalSiftMenu.js /** * 筛选菜单 */ import React, { Component, PropTypes } from 'react'; im ...

  9. Web程序员开发App系列 - 开发我的第一个App,源码下载

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

随机推荐

  1. hibhibernate中hql中的语句where语句查询List出现空

    1.java.sql.Date 与 java.util.Date java.sql.Date是从java.util.Date中继承而来 假设 dates1(java.sql.Date)要赋值给date ...

  2. php的ob函数实现页面静态化

    首先介绍一下php中ob缓存常用到的几个常用函数ob_start():开启缓存机制ob_get_contents():获取ob缓存中的内容ob_clean()清除ob缓存中的内容,但不关闭缓存ob_e ...

  3. C# 13行代码带你模拟登录QQ空间

    最近想做一个QQ空间点赞的小工具,于是晚上下班回来就开始分析PC版的QQ空间,打开Chrome,切换到Network,然后输入账号密码,然后点击登录... 然后,我曹....一堆请求就开始了....搞 ...

  4. C++学习笔记第三天:类、虚函数、双冒号

    类 class Box { public: double length; // 盒子的长度 double breadth; // 盒子的宽度 double height; // 盒子的高度 }; 类成 ...

  5. 《android开发进阶从小工到专家》读书笔记--网络框架的设计与实现

    第一步: 第一层:Request--请求类型,JSON,字符串,文件 第二层:消息队列--维护了提交给网络框架的请求列表,并且根据响应的规则进行排序.默认情况下按照优先级和进入队列的顺序来执行,该队列 ...

  6. mysql忘记密码解决的办法

    [很管用]忘记mysql root密码解决办法 1.编辑MySQL配置文件: 首先停止mysql服务, 然后开始编辑mysql配置文件:vi /etc/my.cnf在[mysqld]配置段添加如下一行 ...

  7. Luogu P2419 [USACO08JAN]牛大赛Cow Contest

    题目背景 [Usaco2008 Jan] 题目描述 N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a p ...

  8. mysql主键,外键,索引

    主键 唯一而非空,只能有一个 作用: 1.唯一的标识一行  2.作为一个可以被外键有效引用的对象  3.保证数据完整性 设计原则: 1. 主键应当是对用户没有意义的.如果用户看到了一个表示多对多关系的 ...

  9. 安装CentOS7

    安装环境:虚拟机*1 使用软件:CentOS7镜像*1 安装过程: 虚拟机配置步骤(主要部分): 1.安装为Linux:CentOS 64位 2.分配1G内存(若需求大可根据实际情况分配) 3.分配4 ...

  10. mysql打不开表问题解决方案

    做开发时候某一表怎么也打不开,数据也不多,网上查了按下面这篇文章完美解决,但是要记得用root登录mysql: 记一次MySQL中Waiting for table metadata lock的解决方 ...