jQuery中容易被疏忽的强大选择器和过滤器

jQuery中选择器总体上包含了CSS3的选择器,但某些方面却由于CSS3的选择器,虽然使用各种选择器,最后也能达到目标,但在项目中,为了做的更少的代码量,使用某些特定的选择器,减少人为的判断似乎更加值得一试

1>  :not(selector) 和 not(expr|ele|fn)

:not(selector)

not(expr|ele|fn)

$("input:not(:checked)")

对于not函数的用法

$("p").not(‘#selected‘) /*使用选择器*/

$("p").not( $("#selected")[0] ) /*使用 js DOM对象而不是jQuery对象*/

$(‘p‘).not(document.getElementById(‘selected‘))

$("p").not(function(index){ //使用函数
    
    return $(p).get(index)==$(‘#selected‘);
})

2> :eq(index)与eq(-index|index)

$("tr:eq(1)") #使用伪类选择器只能从正向0算起

$("p").eq(1) #从正向0算起
$("p").eq(-1) #从倒数第一位算起,起始值为 -1

3>:gt(index) 与lt:(index)

$("tr:gt(0)") #从上向下截取

$("tr:lt(5)") #从下向上截取

4>:animated用来过滤处于动画状态的元素

这里很多人做动画下拉菜单时容易出现闪烁,原因是没判断动画是否已停止

 $("div:not(:animated)").animate({ left: "+=20" }, 1000); //这种情况几乎用不到,一般用到的是 和 is搭配
 
 #下拉菜单判断
 
 $(‘ul#dropmenu‘).hover(function(e){
     if(!$(this).is(‘:animated‘))  /**不要担心动画停止不下来,从而强制使用stop,这样导致菜单卡主了很难看*/
     {
     $(‘ul#dropmenu‘).slideDown();
     }
 },function(e){
      if(!$(this).is(‘:animated‘))
     {
       $(‘ul#dropmenu‘).slideUp();
     }
 });

5>:hidden与:visibble

:hidden这个属性应该重点使用,因为他主要匹配2中DOM,一种是input[type=hidden],另一种是css display:hidden,特别是后一种,要重点使用,这样可以做切换效果

:visible不太重要,可以忽视

$("tr:hidden") //匹配css display=hidden

$("input:hidden")  //匹配表达

6>:empty与empty()

:empty匹配所有不包含子元素或者文本的空元素,但是empty()是用来删除内容的,删除匹配的元素集合中所有的子节点。

$("td:empty")
$("p").empty();//等价于 $(‘p‘).html(‘‘);

7>:has(selector)与has(selector|element)

用来过滤

$(‘li‘).has(‘ul‘).css(‘background-color‘, ‘red‘); //过滤包含 ul的 li
$(‘li:has("ul"‘).css(‘background-color‘,red);

8>andself()

包含自己

<div><p>First Paragraph</p><p>Second Paragraph</p></div>
$("div").find("p").andSelf().addClass("border"); //将div本身加入

9.siblings([selector]),prevAll([selector]),nextAll([selector]);

获取兄弟节点

10.slice(start,end)

切片过滤器

HTML 代码:
<p>Hello</p><p>cruel</p><p>World</p>
jQuery 代码:
$("p").slice(0, 1).wrapInner("<b></b>");

结果

[ <p><b>Hello</b></p> ]
时间: 2024-11-07 03:43:53

jQuery中容易被疏忽的强大选择器和过滤器的相关文章

Scala中For表达式的生成器、定义和过滤器

学习了Scala中For表达式的生成器.定义和过滤器 ,应用 for是循环列表,根据用户需要进行过滤. Def main(args:Array[String]){ Val  lauren=Person(“Lauren”,false) Val  rocky=Person(“Rocky”,true) Val  vivian=Person(“Vivian”,false, laure,rocky) Val  person=List(Lauren,Rocky,Vivian) Val forResult=f

Scala深入浅出实战经典《第86讲:Scala中For表达式的生成器、定义和过滤器》笔记

第86讲:Scala中For表达式的生成器.定义和过滤器 Goal: For的生成器.定义.过滤器 Gains: 生成器:从集合中取出每个元素,for语句中可以有多个生成器 过滤器: 循环满足的条件 More: 把实例代码跑一遍~ ------------------------------------------------------------------------------------ 信息来源于 DT大数据梦工厂微信公众账号:DT_Spark DT大数据梦工厂scala的所有视频.

演示-JQuery中伪元素和伪类选择器

HTML代码: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equi

JQuery 选择器和过滤器

原文地址:https://www.cnblogs.com/qiupiaohujie/p/12131458.html

第86讲:Scala中For表达式的生成器、定义和过滤器

今天我们来看一下For表达式中的生成器,定义和过滤等内容. 让我们来看下代码 def main(args:Array[String]){     val lauren = Persons("Lauren",false)    val rocky = Persons("Rocky",true)    val vivian = Persons("Vivian",false,lauren,rocky)    val persons = List(lau

Scala 深入浅出实战经典 第86讲:Scala中For表达式的生成器、定义和过滤器

package com.dt.scala.forexpression object ForInAction { def main(args: Array[String]) { val lauren = Person("Lauren", false) val rocky = Person("Rocky", true) val vivian = Person("Vivian", false, lauren, rocky) val persons =

jQuery入门笔记之(一)选择器引擎-【转】

---恢复内容开始--- 原文:http://segmentfault.com/a/1190000004230781 一. 常规选择器 (一)简单选择器 模仿的是CSS选择器,只不过在使用jQuery选择器时,我们首先必须使用“$()”函数来包装我们的 CSS 规则.而CSS 规则作为参数传递到jQuery对象内部后,再返回包含页面中对应元素的 jQuery 对象.随后可以进行节点操作,例如:$('#box').css('color', 'red'); . 那么除了 ID 选择器之外,还有两种基

jQuery入门(1)jQuery中万能的选择器

jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax()应用 编写任何JavaScript程序我们要首先获得对象,jQuery选择器能彻底改变我们平时获取对象的方式,可以获取几乎任何语意的对象,比如 “拥有title属性并且值中包含test的<a>元素”,完成这些工作只需要编写一个jQuery选择器字符串, 学习jQuery选择器是学习jQuery最重要

jQuery中的选择器

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE html PUBLIC "-//W3C//DTD