jquery選擇器大全 全面詳解jquery選擇器
選擇器並沒有一個固定的定義,在某種程度上說,jQuery的選擇器和樣式表中的選擇器十分相似。選擇器具有以下特點:
1.簡化程式碼的編寫
2.隱式迭代
3.無須判斷物件是否存在
其中「$」是選擇器不可缺少的部分,在jQuery函式庫中,$就是jQuery的一個簡寫形式,例如$("#foo")和jQuery("#foo")是等價的,$.ajax和jQuery.ajax是等價的。如果沒有特別說明,可以把程式中的$符號都理解為jQuery的簡寫形式。
現在我們正式進入jQuery選擇器的學習。根據選擇器的功能習慣將選擇器進行分類,以下將不同類型的分類器進行分類,並且分別進行解釋說明,使讀者達到掌握程度。
一、基本選擇器
基本選擇器包含5種選擇器:#id、element、.class、*和selectorl,selector2.selectorN,下列將配合實例分別介紹每種選擇器的作用及使用方法。
1. #id選擇器
#id選擇器根據給定的ID來匹配一個元素。如果選擇器中包含特殊字符,可以用兩個斜線轉義,其傳回值為Array
2. element選擇器
element選擇器是一個用來搜尋的元素。指向DOM節點的標籤名。其傳回值為Array
3. class選擇器
.class選擇器根據給定的類別來匹配元素,是一個用於搜尋的類別。一個元素可以有多個類,只要有一個符合就能被匹配到,其回傳值為Array
舉例:
<input type="text" id="ID" value="根据ID选择" /> <a>根据元素名称选择</a> <input type="text" class="classname" value="根据元素css类名选择" /> jQuery("#ID").val(); jQuery("a").text(); jQuery(".classname").val();
即可分別得到元素的值。以上三種為最常見的選擇器,其中ID選擇器是效率最高的,在可能的情況下應該盡量使用它。
4. *選擇器
*選擇器多用於結合上下文來搜索,匹配所有元素的選擇器。其傳回值為Array
5. selector1,selector2,selectorN選擇器
這類選擇器選擇器即將每個選擇器配對到的元素合併後一起回傳。你可以指定任多個選擇器,並將符合的元素合併到一個結果內,其傳回值為:Array
二、層級選擇器
層級選擇器包括5種形式:ancestor、descendant、parent > child、prev + next和prev ~ siblings。以下配合實例分別詳細介紹每種選擇器的作用及使用方法。
1. ancestor descendant選擇器
其指在給定的祖先元素下匹配所有的後代元素,作為參數的ancestor代表任何有效的選擇器,而descendant則用以匹配元素的選擇器,並且它是第一個選擇器的後代。其傳回值為:Array
2. parent>child選擇器
parent>child選擇器代表在給定的父元素下匹配所有的子元素。兩個參數分別代表的意思如下:parent代表任何有效選擇器;child用以符合元素的選擇器,並且它是第一個選擇器的子元素。其傳回值為Array
3. prev+next選擇器
這類選擇器的作用是匹配所有緊接在prev元素後的next元素。兩個參數分別代表的意思如下:prev代表任何有效選擇器;next代表一個有效選擇器並且緊接著第一個選擇器。其傳回值為Array
4. prev ~ siblings選擇器
prev ~ siblings選擇器代表符合prev元素之後的所有siblings元素。兩個參數分別代表的意思如下:prev代表任何有效選擇器;siblings代表一個選擇器,並且它作為第一個選擇器的同儕。其傳回值為Array
舉例:
<div id="divTest"> <input type="text" value="投资" /> <input id="next" type="text" /> <input type="text" value="担当" /> <input type="text" title="学习" value="学习" /> <a>1</a> <a>2</a> </div> //得到div中的a标签内容 结果为12 jQuery("#divTest a").text(); //输出div直接子节点 结果为投资 jQuery("#divTest>input").val(); //输出id为next的后一个同级别元素 结果为担当 jQuery("#next+input").val(); //同上,并且是有title的元素 结果为学习 jQuery("#next~[title]").val();
三、過濾選擇器
過濾選擇器主要透過特定的過濾規則來篩選出所需的DOM元素,過濾規則與CSS中的偽類選擇器語法相同,即選擇器都以一個冒號開頭。
過濾選擇器涉及的內容較多,總共有6 種類型,但其可以進行歸類。下面我們將對各種類型的選擇器進行詳細講解。
1.基本過濾選擇器
基本過濾選擇器是過濾選擇器中最常用的一種,其主要包括以下幾種形式,在此做詳細說明:
(1):first/:last選擇器。
(2):not選擇器。
(3):even和:odd選擇器。
(4):eq:gt、:lt、選擇器。
(5):header選擇器。
(6):animated選擇器。
舉例:
<div id="divTest"> <ul> <li>投资</li> <li>理财</li> <li>成熟</li> <li>担当</li> <input type="radio" value="学习" checked="checked" /> <input type="radio" value="不学习" /> </ul> </div> //第一个li内容 结果为投资 jQuery("li:first").text(); //最后一个li内容 结果为担当 jQuery("li:last").text(); //input未被选中的值 结果为不学习 jQuery("li input:not(:checked)").val(); //索引为偶数的li 结果为投资 成熟 jQuery("li:even").text(); //索引为奇数的li 结果为理财 担当 jQuery("li:odd").text(); //索引大于2的li的内容 结果为担当 jQuery("li:gt(2)").text(); //索引小于1的li的内容 结果为投资 jQuery("li:lt(1)").text();
2.内容过滤选择器
内容过滤选择器主要包括:contains、:empty、:has、:parent 4种过滤器,这部分过滤器是对上面介绍基本过滤选择器的一个补充,对于页面选取、设置元素显示等方面发挥着重要的作用。下面将对各选择器进行详细的介绍。
(1):contains选择器。
(2):empty选择器。
(3):has选择器。
(4):parent选择器。
举例:
<div id="Test"> <ul> <li>hyip投资</li> <li>hyip</li> <li></li> <li>理财</li> <li><a>投资</a></li> </ul> </div> //包含hyip的li的内容 结果为hyip投资 hyip jQuery("li:contains('hyip')").text(); //内容为空的li的后一个li内容 结果为理财 jQuery("li:empty+li").text(); //包含a标签的li的内容 结果为投资 jQuery("li:has(a)").text();
3.可见性过滤选择器
可见性过滤选择器比较简单,其包含两种选择器,主要是用来匹配所有可见元素和不可见元素。下面将会对这两种选择器进行详细介绍。
(1):hidden选择器。
(2):visible选择器。
举例:
<ul> <li>可见</li> <li style="display:none;">不可见</li> </ul> //不可见的li的内容 结果为不可见 jQuery("li:hidden").text(); //可见的li的内容 结果为可见 jQuery("li:visible").text();
4.属性过滤选择器
属性过滤选择器是用于匹配包含给定属性的元素,当然也可以匹配不包含此属性的元素等。属性过滤选择器共含有以下7种选择器。
(1) [attribute]选择器。
(2)[attribute=value]、[attribute!=value]选择器(此处包含两种)。
(3)[attribute^=value]、[attribute$=value]、[attribute*=value]选择器(此处包含三种)。
(4)[selector][selector2]选择器。
举例:
<input type="text" name="hyipinvest" value="hyip投资" /> <input type="text" name="investhyip" value="投资hyip" /> <input type="text" name="google" value="HYIP" /> //name为hyipinvest的值 结果为hyip投资 alert(jQuery("input[name='hyipinvest']").val()); //name以hyip开始的值 结果为hyip投资 alert(jQuery("input[name^='hyip']").val()); //name以hyip结束的值 结果为投资hyip alert(jQuery("input[name$='hyip']").val()); //name包含oo的值 结果为HYIP alert(jQuery("input[name*='oo']").val());
5.子元素过滤选择器
html由层层嵌套在一起的标签组成,由于一些标签需要进行单独处理,如何选取一个或者一些特定的嵌套标签在程序中就成为了一个问题。jQuery提供了子元素过滤选择器解决了这个问题。它包括4个选择器,具体内容将在下面详细讲解。
(1):nth-child选择器。
(2):first-child、:last-child选择器(两种)。
(3):only-child选择器。
6.表单对象属性过滤选择器
这部分内容相当简单,只包含四种类型的选择器,这些选择器分别用来匹配可用元素或者不可用元素、选中元素等。下面将以实例的形式对此部分内容进行讲解。
(1):enabled、:disabled选择器。
(2):checked选择器。
(3):selected选择器。
表单过滤选择器是用于处理html中表单的选择器,其中不仅仅包括经常用到的按钮、文本域、单选框、复选框等,还涉及了很少用到的图片、隐藏域、文件上传等标签。下面将会对这些选择器进行具体介绍。
(1):input选择器。
(2):text、:password选择器。
(3):radio、:checkbox选择器。
(4):submit、:image、:reset、:button、:file选择器。
(5):hidden选择器。
Query选择器就总结到这里,这些基本上都是在学习过程中遇到的,还有极少部分没有总结出来。经过一段时间实践,相信大家就能够熟练的使用jQuery选择器了。
更多jquery选择器大全 全面详解jquery选择器相关文章请关注PHP中文网!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

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

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

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

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

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

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

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

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。
