分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

day17--JQuery选择器

发布时间:2023-09-06 01:16责任编辑:白小东关键词:选择器

    操作HTML标签的时候,我们首先要找到HTML标签的位置,然后进行操作,下面来看看集中查找标签的方法,如下:

    1、Id选择器   -- Id在HTML中是唯一的,通过Id进行查找,Id对应的是#号      id ==》#

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title></head><body> ???<div id="i10" class="c1"> ???????<div> ???????????<a>caonima</a> ???????</div> ???????<a>alexsb</a> ???????<a>您好</a> ???????<a>ershazi</a> ???</div> ???<div class="c1"> ???????<a>f</a> ???</div> ???<div class="c1"> ???????<div class="c2"></div> ???</div> ???<script src="jquery-1.12.4.js"> ???</script></body></html>

    上面HTML代码,下面使用$("#i10")进行查找,查找Id="i10"的标签,如下:

> obj = $(‘#i10‘)> [div#i10.c1, context: document, selector: "#i10"] ?????<!-- 查询到了id="i10"的<div>标签,div标签下面还有子标签,通过一定查找,可以定位到子标签--> ???> 0:div#i10.c1 ??????????????????????????????????????<!-- 上面标签里面的内容 --> ???> context:document ???> length:1 ???> selector:"#i10" ???> __proto__:Object(0)

    2、.c1选择器  class选择器,class选择器对应的是.    class ==》 .(点)

    通过

> obj = $(‘.c1‘)> [div#i10.c1, context: document, selector: "#i10"] ???<!-- .c1找到的也是<div>标签,内容一样,因为<div>标签里面有id和class --> ?????> 0:div#i10.c1 ????????????????????????????????????<!-- div标签下面有子标签,可以通过一定方法进行获取 --> ???????????????????????????????????????> context:document ???> length:1 ???> selector:"#i10" ???> __proto__:Object(0)

    3、标签选择器,通过标签本身进行选择

选择上面HTML中所有的<a>标签,如下:> obj = $("a") ?????<!-- 选择HTML中所有的a标签,可以看出,找到5个<a>标签,所有的a标签 -->> (5) [a, a, a, a, a, prevObject: jQuery.fn.init(1), context: document, selector: "a"]
> obj[4] ???????????<!-- 选择上面标签中的第5个a标签 -->
> ??<a>f</a>

    4、组合查询   组合查询使用的是逗号(,),$(‘a,.c2,#i10)意思是找到所有<a>标签,class=c2的标签和id="i10"的标签,如下:

> obj = $("a,.c2,#i10") ???<!-- 组合查询,查询所有<a>标签,class="c2"标签,id="i10"标签,进行组合查询 -->> (7) [div#i10.c1, a, a, a, a, a, div.c2, prevObject: jQuery.fn.init(1), context: document, selector: "a,.c2,#i10"]

    5、层级查询   找到某一个标签下面的标签,这个我比较喜欢,一层一层的进行查找,如下:

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title></head><body> ???<div id="i10" class="c1"> ???????<div> ???????????<a>caonima</a> ???????</div> ???????<a>alexsb</a> ???????<a>您好</a> ???????<a>ershazi</a> ???</div> ???<div class="c1"> ???????<a>f</a> ???</div> ???<div class="c1"> ???????<div class="c2">找的就是你,你妈,层级选择器</div> ???</div> ???<script src="jquery-1.12.4.js"> ???</script></body></html>
===============================================查找标签class等于c1下面的标签class等于c2的标签===========================================
> obj = $(‘.c1 .c2‘) ?? <!-- 查找标签class等于c1下面的标签class等于c2的标签的所有标签,子子孙孙 -->
> [div.c2, prevObject: jQuery.fn.init(1), context: document, selector: ".c1 .c2"]
> obj[0]
> ??<div class="c2">找的就是你,你妈,层级选择器</div>

    parent > child  >符号代表只找子标签,如下:

> obj = $("#i10 a") ??<!-- 查找id="i10"标签下面所有的<a>标签,包括子标签和孙子标签,所有的标签-->> (4) [a, a, a, a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a"]> con = $("#i10>a") ?<!--查找标签id="1o"下面的子标签<a>,只查找子标签看是否是<a>标签 -->> (3) [a, a, a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10>a"]

    “>”大于号代表只查找层级标签下面的子标签," "空格代表查找子标签下的所有满足条件的标签,子子孙孙。

    6、筛选选择器    比如::first筛选满足条件的第一个,如下:

> obj = $(‘#i10 a:first‘) ??<!-- ?筛选满足条件的第一个标签-->> [a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:first"]

> obj = $(‘#i10 a:odd‘) ???<!-- 筛选满足条件的奇数标签-->
> (2) [a, a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:odd"]

> obj = $(‘#i10 a:even‘) ???<!-- 筛选满足条件的偶数标签 -->
> (2) [a, a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:even"]

> obj = $(‘#i10 a:last‘) ???<!-- 筛选满足条件标签的最后一个标签-->
> [a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:last"]

> obj = $(‘#i10 a:eq(0)‘) ???<!-- 筛选满足条件索引等于0的标签 -->
> [a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:eq(0)"]
> obj = $("#i10 a:gt(2)") ???<!-- 筛选满足条件索引大于2的标签 -->
> [a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:gt(2)"]

> obj = $(‘#i10 a:lt(2)‘) ???<!-- 筛选满足条件索引小于2的标签 -->
> (2) [a, a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:lt(2)"]查找所有未选中的 input 元素HTML 代码:<input name="apple" /><input name="flower" checked="checked" />jQuery 代码:$("input:not(:checked)")
结果:
[ <input name="apple" /> ]

    7、内容(text)选择器

        (1):contains(text)      -- 查找标签里面值包含text的标签

:contains(text)概述 ???匹配包含给定文本的元素参数 ???text ???????????????String ???一个用以查找的字符串示例 ???描述: ???????查找所有包含 "John" 的 div 元素 ???HTML 代码: ???<div>John Resig</div> ???<div>George Martin</div> ???<div>Malcom John Sinclair</div> ???<div>J. Ohn ???jQuery 代码: ???$("div:contains(‘John‘)") ???结果: ???????[ <div>John Resig</div>, <div>Malcom John Sinclair</div> ]

    (2):empty     -- 查找标签里面内容包含空的标签,经常用在表格中,比如查找空单元格的时候

:empty概述 ???匹配所有不包含子元素或者文本的空元素示例 ???描述: ???????查找所有不包含子元素或者文本的空元素 ???HTML 代码: ???<table> ?????<tr><td>Value 1</td><td></td></tr> ?????<tr><td>Value 2</td><td></td></tr> ???</table> jQuery 代码:$("td:empty")结果:[ <td></td>, <td></td> ]

    (3):has(selector)     --判断标签存在  addClass给标签添加class属性

:has(selector)概述 ???匹配含有选择器所匹配的元素的元素参数 ???selector ????Selector ???一个用于筛选的选择器示例描述: ???给所有包含 p 元素的 div 元素添加一个 text 类 ?HTML 代码: ???<div><p>Hello</p></div> ???<div>Hello again!</div>jQuery 代码: ???$("div:has(p)").addClass("test"); ?<!-- 给含有<p>标签的<div>标签添加class="test"属性,obj = $(‘div div:has(a)‘).addClass(‘test‘)-->结果: ???[ <div class="test"><p>Hello</p></div> ]

    (4):parent  -- 查找标签含有子内容的元素    即查找非空的标签,里面有内容或者嵌套其他标签

:parent概述 ???匹配含有子元素或者文本的元素示例 ???描述: ???????查找所有含有子元素或者文本的 td 元素 ???HTML 代码: ???<table> ?????<tr><td>Value 1</td><td></td></tr> ?????<tr><td>Value 2</td><td></td></tr> ???</table>jQuery 代码: ???$("td:parent")结果: ???[ <td>Value 1</td>, <td>Value 2</td> ]

 8、可见的  :hidden     :visible

    (1):hidden      匹配包含display:none的标签

:hidden概述 ???匹配所有不可见元素,或者type为hidden的元素示例 ???描述: ???????查找隐藏的 tr ??匹配type为hidden的元素 ???HTML 代码: ???<table> ?????<tr style="display:none"><td>Value 1</td></tr> ?????<tr><td>Value 2</td></tr> ???</table>jQuery 代码: ???$("tr:hidden")结果: ???[ <tr style="display:none"><td>Value 1</td></tr> ]

 (2):visable    可见的,display属性不等于none

:visible概述 ???匹配所有的可见元素示例 ???描述: ???????查找所有可见的 tr 元素HTML 代码: ???<table> ?????<tr style="display:none"><td>Value 1</td></tr> ?????<tr><td>Value 2</td></tr> ???</table>jQuery 代码: ???$("tr:visible")结果: ???[ <tr><td>Value 2</td></tr> ]

 9、属性

    [attribute]:查找标签里面具有某个属性的标签,如下:

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ???????.test{ ???????????font-size:50px; ???????????color:red; ???????} ???</style></head><body> ???<div id="i10" class="c1"> ???????<div> ???????????<a>caonima</a> ???????</div> ???????<a alex="123">alexsb</a> ???????<a alex="456">您好</a> ???????<a>ershazi</a> ???????<a>属性标签,attribute</a> ???</div> ???<div class="c1"> ???????<a>f</a> ???</div> ???<div class="c1"> ???????<div class="c2">找的就是你,你妈,层级选择器</div> ???</div> ???<script src="jquery-1.12.4.js"> ???</script></body></html>
进行如下查询:
(1)、[attribute] ??查询标签中属性值是attribute的标签
> obj = $(‘[alex]‘) ???????<!-- 查找标签中含有属性值为"alex"的标签,比如alex="sb"属性值等于alex的标签 -->
> (2) [a, a, prevObject: jQuery.fn.init(1), context: document, selector: "[alex]"]

(2)[attribute=value] ??查询标签属性值等于value的标签
> obj = $(‘[alex="123"]‘) ???<!-- 查询属性等于alex且属性值等于123的标签
> [a, prevObject: jQuery.fn.init(1), context: document, selector: "[alex="123"]"

[attribute!=value] ?属性值不等于value的标签
[attribute^=value] ?属性值不等于value的标签
[attribute$=value] ?属性值以attribute结尾,且值等于value的标签
[attribute*=value] ?属性值以attribute开头,且值等于value的标签

day17--JQuery选择器

原文地址:http://www.cnblogs.com/gengcx/p/7636756.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved