jquery用户自定义选择器及选择器高级用法实验

//用户自定义选择器

$(function(){

// Define custom filter by extending $.expr[":"]

$.expr[":"].greenbg = function(element) {

return $(element).css("background-color") === "rgb(0, 128, 0)";

};

var n = $(":greenbg").length;

console.log("There are " + n + " green divs");

});

<div style="width:10; height:10; background-color:green;"></div>

<div style="width:10; height:10; background-color:black;"></div>

<div style="width:10; height:10; background-color:blue;"></div>

------------------------------------------------------------jquery 选择器---------------------------------------------------

/属性选择器

$("[attributeName=‘string2match‘]");

$("[attributeName^=‘str‘]");//匹配str开头所有元素

$("[attributeName$=‘str‘]");//匹配str结尾所有元素

$("[attributeName*=‘str‘]");//包含str所有元素

$("[attributeName~=‘str‘]");//包含str所有元素(包含空格隔开的,如:xxx

str)

//复式属性选择器

var n = $("form[name$=‘Office1‘]form[name^=‘admin‘]").length;

//位置选择器

$("li:even") //返回偶数成员值,0也是偶数

li:odd   //奇数

li:first //第一个元素

li:last  //最后一个

li:eq(3) //返回第四个

li:gt(2)//返回匹配集合索引大于2的所有元素

li:lt(3)//小于3

//过滤选择器

:animated //选择当前正在执行动画所有元素

:header //选择所有标题元素 如:h1,h2,h3

:not //选择与选择器不匹配元素

//过滤表单元素

$(function(){

var n1 = $("input").length;//xuaninput的所有元素

var n2 = $(":input").length;//包含dom

(input,textarea,select,button)所有元素

var n3 = $("form > *").length;//表单内所有元素

var n4 = $(":text").length;//属性为text所有

var n5 = $("input[type=‘text‘]").length;//属性为text所有

console.log(n1 + ","+ n2 +","+ n3 + "," + n4 + "," + n5);

});

</script>

<form name="" method="post">

<input type="text" />

<input type="text" />

<input type="text" />

<button>

</form>

<button>

//可见性过滤器

jquery根据元素offsetWidth\offsetHeight属性判断一个元素是否可见

如果这个2个属性都为0,jquery认为该元素是隐藏,

元素样式为display:block,display:none jquery检测这些

$(function(){

var numInv = $(":text:hidden").length; //所有隐藏

var numVis = $(":text:visible").length;//所有可见

console.log(numInv);//1

console.log(numVis);//1

});

<form name="" method="post">

<input type="text" name="text1" style="display:none;"/>

<input type="text" name="text2" style="offsetWidth:0;

offsetHeight:0;"/>

<input type="text" name="text3" style="display:block;/>

</form>

//内容过滤器

:contains()

$(function(){

var jennies = $("p:contains(‘jenny‘)").length;

console.log(jennies); // returns 2

});

<p>jenny smith</p>

<p>jennyjones</p>

<p>jim bob</p>

//:has()

$(function(){

var jennies = $("p:contains(‘jenny‘)").length;

console.log(jennies); // returns 2

var hasdoemo = $("div:has(‘p‘)").attr("id");//在该元素的后代元素

中至少包含一个与指定的选择器匹配的元素

console.log(hasdoemo); //lt

});

<div id="gt">

<p>jenny smith</p>

<p>jennyjones</p>

<p>jim bob</p>

</div>

<div id="lt">

afdfd</div>

//不包含任何内容 :empty()

$(function(){

var nothing = $("p:empty").length;

console.log(nothing); //returns 1

});

div>

<p></p>

<p>something here</p>

</div>

//:parent() 选择具有子元素的元素

$(function(){

console.log($("div:parent").attr("id"));//gt

});

<div id="lt">afdfd</div>

<div id="gt">

<p>jenny smith</p>

<p>jennyjones</p>

<p>jim bob</p>

</div>

////根据关系进行过滤

<script>

$(function(){

console.log( $("div span:first-child") )   // 选择每个父元素第一个

//[span#turkey, span#bear, span#martian]

console.log( $("div span:last-child")   )   // 选择每个父元素最后

一个

//[span#hawk, span#horse, span#martian]

console.log( $("div span:only-child")   )   // 选择每个父元素只有

唯一

//[span#martian]

console.log( $("div span:nth-child(2)") )   //每个父元素第n个

//[span#chicken, span#rabbit]

console.log( $("div span:nth-child(2n+1)") ) //n=0.....n

//[span#turkey, span#parrot, span#hawk, span#bear, span#fox, span#horse,

span#martian]

console.log( $("div span:nth-child(even)") )

//[span#chicken, span#pigeon, span#rabbit, span#monkey]

});

</script>

</head>

<body>

<div>

<span id="turkey">Turkey</span>

<span id="chicken">Chicken</span>

<span id="parrot">Parrot</span>

<span id="pigeon">Pigeon</span>

<span id="hawk">Hawk</span>

</div>

<div>

<span id="bear">bear</span>

<span id="rabbit">rabbit</span>

<span id="fox">fox</span>

<span id="monkey">monkey</span>

<span id="horse">horse</span>

</div>

<div>

<span id="martian">martian</span>

</div>

时间: 2024-10-29 04:07:11

jquery用户自定义选择器及选择器高级用法实验的相关文章

HTML5中类jQuery选择器querySelector的高级使用

基本用法 querySelector 该方法返回满足条件的单个元素.按照深度优先和先序遍历的原则使用参数提供的CSS选择器在DOM进行查找,返回第一个满足条件的元素. ----> querySelector得到一个DOM var element = document.querySelector('#container');//返回id为container的dom var element = document.querySelector('div#container');//返回id为contai

jquery on高级用法

on()的高级用法 针对自己处理机制中,不仅有on方法,还有根据on演变出来的live方法(1.7后去掉了),delegate方法等等.这些方法的底层实现部分 还是on方法,这是利用了on的另一个事件机制委托的机制衍变而来的 委托机制 .on( events ,[ selector ] ,[ data ], handler(eventObject) ) 在on的第二参数中提供了一个selector选择器,简单的来描述下 参考下面3层结构 <div class="left">

第一百六十八节,jQuery,表单选择器

jQuery,表单选择器 学习要点: 1.常规选择器 2.表单选择器 3.表单过滤器 表单作为 HTML 中一种特殊的元素,操作方法较为多样性和特殊性,开发者不但可以 使用之前的常规选择器或过滤器,也可以使用 jQuery 为表单专门提供的选择器和过滤器来 准确的定位表单元素. 一.常规选择器 我们可以使用 id.类(class)和元素名来获取表单字段,如果是表单元素,都必须含有 name 属性,还可以结合属性选择器来精确定位. $('input').val(); //元素名定位,默认获取第一个

jQuery的基本筛选选择器

很多时候我们不能直接通过基本选择器与层级选择器找到我们想要的元素,为此jQuery提供了一系列的筛选选择器用来更快捷的找到所需的DOM元素.筛选选择器很多都不是CSS的规范,而是jQuery自己为了开发者的便利延展出来的选择器 筛选选择器的用法与CSS中的伪元素相似,选择器用冒号“:”开头,通过一个列表,看看基本筛选器的描述: 注意事项: :eq(), :lt(), :gt(), :even, :odd 用来筛选他们前面的匹配表达式的集合元素,根据之前匹配的元素在进一步筛选,注意jQuery合集

jQuery之知识二-选择器

jQuery 最核心的组成部分就是:选择器引擎.它继承了 CSS 的语法,可以对 DOM 元 素的标签名.属性名.状态等进行快速准确的选择,并且不必担心浏览器的兼容性.jQuery 选择器实现了 CSS1~CSS3 的大部分规则之外,还实现了一些自定义的选择器,用于各种 特殊状态的选择. 一.简单选择器 在使用 jQuery 选择器时,我们首先必须使用"$()"函数来包装我们的 CSS 规则.而 CSS 规则作为参数传递到 jQuery 对象内部后,再返回包含页面中对应元素的 jQue

JQuery中常用的选择器

属性选择器 1>  [attribute] 概述:匹配包含给定属性的元素. 示例 jQuery 代码:$("div[id]") 描述:查找所有含有 id 属性的 div 元素 2>  [attribute=value] 概述:匹配给定的属性是某个特定值的元素 3> [attribute!=value] 概述:匹配所有不含有指定的属性,或者属性不等于特定值的元素. 4> [attribute^=value] 概述:匹配给定的属性是以某些值开始的元素 5> [

从零开始学习jQuery (二) 万能的选择器

原文:从零开始学习jQuery (二) 万能的选择器 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零开始学习jQuery

初识JQuery(1)-选择器

初识jquery 在学习jquery之前,就有看过一些相关的视频,才知道它是可以写很少的代码就可以完成很多事的.记得第一写轮播图的时候,首先就百度了篇轮播图的实现,当时还不知道自己百度的其实不是原生的JS代码,而是用jquery完成的,当时也是初识JS,然后就一脸懵逼的看了视频,结果好像还看懂了,于是跟着他的代码像做着世界上最伟大的事一样的敲着代码,编译的时候却没反应,经过一些了解后才发现这是用传说中的jquery完成的.尽管第一次接触jquery不是为接触而接触的,但是也意识到了他强大的功能.

jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法

jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法 一丶什么是JQuery JQuery: ???????JQuery是js的一个库,高度封装了js常用的功能,提供简便方法,调用简单,提高开发效率 ??????js库是包含了把复杂的功能封装到简单的方法中 JQuery的两大特性: ???????链式编程:可以.的形式实现多个功能 ?