這次帶給大家jQuery三種$()使用案例,jQuery三種$()使用的注意事項有哪些,下面就是實戰案例,一起來看一下。
$號是jQuery「類別」的一個別稱,$()建構了一個jQuery物件。所以,「$()」可以叫做jQuery的建構子(個人觀點,呵呵!)。
1、$()可以是$(expresion),也就是css選擇器、Xpath或html元素,也就是透過上述表達式來符合目標元素。
例如:$("a")建構的這個對象,是用CSS選擇器建構了一個jQuery物件-它選擇了所有的7d01d0a03a49fceb57d12197d8d196cb這個標籤。如:
$("a").click(function(){...})
就是在點擊頁面上的任何一個連結時的觸發事件。確切地說,就是jQuery用7d01d0a03a49fceb57d12197d8d196cb這個標籤建構了一個物件$("a"),函數 click()是這個jQuery物件的一個(事件)方法。
例如有這樣一段HTML程式碼:
<p>one</p> <p> <p>two</p> </p> <p>three</p> <a href="#" id="test" onClick="jq()" >jQuery</a>
而操作這段HTML的是如下一語句:
alert($("p>p").html());
$()中的是一個查詢表達式,也就是用「p>p」這樣一個查詢表達式建構了一個jQuery對象,然後的「html()」意思是顯示其html內容,也就是上面HTML程式碼段的[two]。再如:
$("<p><p>Hello</p></p>").appendTo("body");
$()中的是一個字串,用這樣一段字符串建構了jQuery對象,然後在b2636b4e0e32f7cd731b9073897693b7中加入這一字符串。
2、$()可以是$(element),也就是一個特定的DOM元素。如常用的DOM物件有document、location、form等。如這樣一行程式碼:
$(document).find("p>p").html()); $()中的document是一个DOM元素,即在全文寻找带<p>的<p>元素,并显示<p>中的内容。
3、$()可以是$(function),也就是一個函數,它是$(document).ready()的一個速記方式。如常見的形式是這樣的:
$(document).ready(function(){ alert("Hello world!"); });
可變形作:
$(function(){ alert("Hello world!"); });
對於選擇HTML文件中的elements,jQuery有兩種方法:
1 )如$("p>ul a"),它的意思是p標籤中的ul標籤中的a標籤
不過,$('p>ul')和$('p ul')是有區別的,
$('p>ul')是<p>的直接后代里找<ul>; 而$('p ul')是在<p>的所有后代里找<ul>。
2)用jQuery物件的幾個方法(如方法find()、each()等)
$("#orderedlist).find("li") 就像$("#orderedlist li"). each()一樣迭代了所有的li,而表達式中的“#”表示HTML中的ID,如上例中的“#orderedlist”就表示“ID為orderedlist所在的標籤」。
************************************************** ********************
1、標籤選擇器$('p')、類別選擇器 $('.myClass')、id選擇器$('#myId')相對簡單,不多說。 ,
$('p>ul')是e388a4556c0f65e1904146cc1a846bee的直接後代裡找ff6d136ddc5fdfeffaf53ff6ee95f185;而$('p ul')是在e388a4556c0f65e1904146cc1a846bee的所有後代裡找ff6d136ddc5fdfeffaf53ff6ee95f185 。所找的範圍(所找到的DOM對象,只是它本級的DOM對象。)。中沒有horizontal類別的所有元素。 #2、XPath選擇器
如:選擇所有帶有title 屬性的鏈接,我們會這樣寫:$('a[@title]')
[]裡帶@,說明[]裡的是元素的屬性;是個
屬性選擇器
[]裡沒@,說明[]裡的是元素的子孫。 ')雖然回傳的都是一個jQuery數組,但兩者的意義正好相反。前者是要找ff6d136ddc5fdfeffaf53ff6ee95f185下所有25edfb22a4f469ecb59f1190150159c6子孫,而後者卻是在找所有子孫為25edfb22a4f469ecb59f1190150159c6的ff6d136ddc5fdfeffaf53ff6ee95f185陣列。 在XPath中,要找一個「以...開頭」的屬性,用^=,如找一個name屬性是以mail開頭的input元素,就用$('input[@name^ ="mail"]')
要找一個「以...結尾」的屬性,要用$=
要找一個「不頭不尾」的屬性,用*=
3、不屬於上述的CSS和XPath的選擇器,就是自訂的選擇器了,用「:」表示,這裡要用的就是:
first,:last,:parent ,:hidden,:visible,:odd,:even,:not('xxx'), ":eq(0)"(始于0),:nth(n),:gt(0),:lt(0),:contains("xxx")
如:$('tr:not([th]):even')意为a34de1251f0d9fe1e645927f19a896e8元素的子孙中不含b4d429308760b6c2d20d6300079ed38e的所有子孙的偶数项
4、还有几个,简单不解释了
$('th').parent()—— $('td:contains("Henry")').prev()——内容包含有"Henry"的<td>的上一个节点 $('td:contains("Henry")').next()——内容包含有"Henry"的<td>的下一个节点 $('td:contains("Henry")').siblings()——内容包含有"Henry"的<td>的所有兄弟节点
还有一个,就是end(),这个方法肯定是用在某个DOM节点执行了某一动作之后,还想在与其相关的节点上执行类似动作,这里就要用到end()。用过end()方法之后,所返回的是执行动作的那个节点的父节点上。举个例子
$(...).parent().find(...).addClass().end()
这里执行动作的节点是find(...),是一个数组对象,它所做的动作是“addClass()”,之后,用了个end(),这时所返回的东东就是指向了parent()所指向的节点,也就是执行“addClass()”动作的那个数组对象的父节点。
5、要直接访问DOM元素,可用get(0)的方法,如
$('#myelement').get(0),也可缩写成$('#myelement')[0]
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上是jQuery三種$()使用案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!