这是看《锋利的jquery》时,整理出来的一些东西,很多方法,需要大家亲自实践一下,才会理解得更加深刻,切莫眼高手低哦……
Jquery选择器分类:基本选择器,层次选择器,过滤选择器,表单选择器
一、基本选择器:jquery中最常用的选择器,也是最简单的选择器。通过元素id、class和标签名等来查找DOM元素。
表-基本选择器
选择器 |
描述 |
返回 |
示例 |
#id |
根据给定的id匹配一个元素 |
单个元素 |
$(“#test”)选取id为test的元素 |
.class |
根据给定的类名匹配元素 |
集合元素 |
$(“.test”)选取所有class为test的元素 |
element |
根据给定的的元素名匹配元素 |
集合元素 |
$(“p”) 选取所有的元素 |
* |
匹配所有元素 |
集合元素 |
$(“*”)选取所有元素 |
Selector1,Selector2, ……, SelectorN |
将每一个选择器匹配到的元素合并后一起返回 |
集合元素 |
$(“div,span,p.myClass”)选取所有 |
二、层次选择器:通过DOM元素之间的层次关系获取特定元素,如后代元素、子元素、相邻元素、兄弟元素等。层次选择器是一个很好的选择
表-层次选择器
选择器 |
描述 |
返回 |
示例 |
$(“ancestor descendant”) |
选取ancestor元素里所有descendant(后代)元素 |
集合元素 |
$(“div span”)选取 |
$(“parent>child”) |
选取父元素下的子元素 |
集合元素 |
$(“div>span”)选取 |
$(‘prev+next') |
选取紧接在prev元素后的next元素 |
集合元素 |
$(‘.one+div') 选取class为one的下一个 |
$(‘prev~siblings') |
选取prev元素之后的所有元素 |
集合元素 |
$(‘.one+div') 选取class为one的元素后面所有 |
注意:
$(‘prev+next')选择器与next()方法的等价关系
$(‘.one+div') 等价于 $(“.one”).next(“div”)
$(‘prev~siblings')选择器与nextAll()方法的等价关系
$(‘.one~div') 等价于 $(“.one”).nextAll(“div”)
三、过滤选择器:主要是通过特定的过滤选择器规则来筛选出所需的DOM元素,过滤规则与css中伪类选择器语法相同,即选择器都以一个冒号(:)开头。
按照不同的过滤规则,过滤选择器分为:基本过滤选择器、内容过滤选择器、可见性过滤选择器、属性过滤选择器、子元素过滤选择器、表单对象属性座率选择器
表1-基本过滤选择器
选择器 |
描述 |
返回 |
示例 |
:first |
选取第一个元素 |
单个元素 |
$(“div:first”)选取所有 |
:last |
选取最后一个元素 |
单个元素 |
$(“div:last”)选取所有 |
:not(selector) |
去除所有与给定选择器匹配的元素 |
集合元素 |
$(“input:not(.myClass)”) 选取class为不是myClass的元素 |
:even |
选取索引是偶数的所有元素,索引从0开始 |
集合元素 |
$(“input:even”) 选取索引是偶数的元素 |
:odd |
选取索引是奇数的所有元素,索引从0开始 |
集合元素 |
$(“input:odd”) 选取索引是奇数的元素 |
:eq(index) |
选取索引等于index的元素(index从0开始) |
单个元素 |
$(“input:eq(1)”选取索引为1的元素 |
:gt(index) |
选取索引大于index的元素(index从0开始) |
集合元素 |
$(“input:gt(1)”) 选取索引大于1的元素(注:大于1,而不包括1) |
:lt(index) |
选取索引小于index的元素(index从0开始) |
集合元素 |
$(“input:gt(1)”) 选取索引小于1的元素(注:小于1,而不包括1) |
:header |
选取所有的标题元素,例如h1,h2,h3等待 |
集合元素 |
$(“:header”)选取网页中所有的,,…… |
:animated |
选取当前正在执行动画的所有元素 |
集合元素 |
$(“div:animated”)选取正在执行动画的 |
表2-内容过滤选择器
选择器 |
描述 |
返回 |
示例 |
:contains(text) |
选取含有文本内容为”text”的元素 |
集合元素 |
$(“div:contains(‘我')”)选取含有文本“我”的 |
:empty |
选取不包含子元素或者文本的空元素 |
集合元素 |
$(“div:empty”)选取不包含子元素(包括文本元素)的 |
:has(selector) |
选取含有选择器所匹配的元素的元素 |
集合元素 |
$(“div:has(p)”) 选取含有元素的 |
:parent |
选取含有子元素或者文本元素 |
集合元素 |
$(“div:parent”) 选取拥有子元素(包括文本元素)的 |
表3-可见性过滤选择器
选择器 |
描述 |
返回 |
示例 |
:hidden |
选取所有不可见的元素 |
集合元素 |
$(“:hidden”)选取所有不可见的元素。包括, |
:visible |
选取不包含子元素或者文本的空元素 |
集合元素 |
$(“div:visible”)选取所有可见的 |
表4-属性过滤选择器
选择器 |
描述 |
返回 |
示例 |
[attribute] |
选取拥有此属性的元素 |
集合元素 |
$(“div[id]”)选取拥有属性id的元素 |
[attribute=value] |
选取属性的值为value的元素 |
集合元素 |
$(“div[title=test]”)选取属性title为”test”的 |
[attribute!=value] |
选取属性的值不等于value的元素 |
集合元素 |
$(“div[title!=test]”)选取属性title不等于”test”的 |
[attribute^=value] |
选取属性的值以value开始的元素 |
集合元素 |
$(“div[title^=test]”)选取属性title以”test”开始的 |
[attribute$=value] |
选取属性的值以value结束的元素 |
集合元素 |
$(“div[title$=test]”)选取属性title以”test”结束的 |
[attribute*=value] |
选取属性值含有value的元素 |
集合元素 |
$(“div[title*=test]”)选取属性title含有”test”的 |
[selector1][selector2][selectorN] |
用属性选择器合并成一个复合属性选择器,满足多个条件。每个选择一次,缩小一次范围 |
集合元素 |
$(“div[id][title$='tets']”)选取拥有属性id,并且属性title以”test”结束的 |
表5-子元素过滤选择器
选择器 |
描述 |
返回 |
示例 |
:nth-child(index/even/odd/equation) |
选取每个父元素下的第index个子元素或者奇偶元素(index从1算起) |
集合元素 |
:eq(index)只匹配一个元素,而:nth-child将为每一个父元素匹配子元素,并且:nth-child(index)的index是从1开始的,而:eq(index)是从0算起 |
:first-child |
选取每个父元素的第一个子元素 |
集合元素 |
:first只返回单个元素,而:first-child选择符将为每个父元素匹配第一个子元素 |
:last-child |
选取每个父元素的最后一个子元素 |
集合元素 |
:last只返回单个元素,而:last-child选择符将为每个父元素匹配最后一个子元素 |
:only-child |
如果某个元素是它父元素中唯一的子元素,那么将会被匹配。如果父元素中含有其他元素,则不会被匹配 |
集合元素 |
|
:nth-child()选择器详细功能
(1):nth-child(even)能选取每个父元素下的索引值是偶数的元素。
(2):nth-child(odd) 能选取每个父元素下的索引值是奇数的元素。
(3):nth-child(2)能选取每个父元素下的索引值等于2的元素
(4):nth-child(3n)能选取每个父元素下的索引值是3的倍数的元素,(n从0开始)。
(5):nth-child(3n+1)能选取每个父元素的索引值是(3n+1)的元素。(n从0开始)
表6-表单对象属性过滤选择器
选择器 |
描述 |
返回 |
示例 |
:enabled |
选取所有可用元素 |
集合元素 |
$(“#form1:enabled”) ;选取id为”form1”的表单内的所有可用元素 |
:disabled |
选取所有不可用元素 |
集合元素 |
$(“#form1:disabled”) ;选取id为”form1”的表单内的所有不可用元素 |
:checked |
选取所有被选中的元素(单选框,复选框) |
集合元素 |
$(“input:checked”);选取所有被选中的元素 |
:selected |
选取所有被选中的选项元素(下拉列表) |
集合元素 |
$(“select:selected”);选取所有被选中的选项元素 |
四、表单选择器
表-表单对象属性过滤示例
选择器 |
描述 |
返回 |
示例 |
:input |
选取所有可用元素 |
集合元素 |
$(“:input”) 选取所有、、和元素 |
:text |
选取所有不可用元素 |
集合元素 |
$(“:text”) 选取所有的单行文本 |
:password |
选取所有的密码框 |
集合元素 |
$(“: password”)选取所有的密码框 |
:radio |
选取所有的单选框 |
集合元素 |
$(“:radio”)选取所有的单选框 |
:checkbox |
选取所有的多选框 |
集合元素 |
$(“:checkbox”)选取所有的多选框 |
:submit |
选取所有的提交按钮 |
集合元素 |
$(“:submit”)选取所有的提交按钮 |
:image |
选取所有的图像按钮 |
集合元素 |
$(“:image”)选取所有的图像按钮 |
:reset |
选取所有的重置按钮 |
集合元素 |
$(“:reset”)选取所有的重置按钮 |
:button |
选取所有的按钮 |
集合元素 |
$(“:button”)选取所有按钮 |
:file |
选取所有的上传域 |
集合元素 |
$(:file)选取所有的上传域 |
:hidden |
选取所有不可见元素 |
集合元素 |
$(“:hidden”)选取所有不可见元素 |

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver CS6
視覺化網頁開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版
中文版,非常好用