jquery語法結構由3部分組成:1、工廠函數“$()”,會根據“()”裡的參數進行查找和選擇html文檔中的元素,傳回包含元素的jquery物件; 2、選擇器,即工廠函數「()」中的參數;3、內建方法(函數),用於對選取的函數進行操作。
本教學操作環境:windows7系統、jquery1.10.2版本、Dell G3電腦。
jQuery語句主要包含三大部分:$()、document和action()分別稱為工廠函數、選擇器、方法。
語法:
$(selector).action();
#選擇器selector
$(selector)
方法action()
jQuery对象.addClass([样式名])
jquery中的$()
jQuery 裡邊兒的 $
代表取得的意思,相當於document.getElemenById("id名")
;當然,也相當於document.getElementsByClassName("class名稱")
等等同上道理。
$
符號主要是用來取得元素對象,透過取得對象,才能使用jquery方法對其進行運算。
$其實就是jQuery的別稱,指的就是jQuery對象,而jQuery就是jQuery庫提供的一個函數
這個函數的作用是根據() 裡的參數進行查找和選擇html文件中的元素, 函數作用之一就是GetElementByID的代替,但()內不僅可以是ID,還可以是各類選擇器
例如:
$(document )
就是選取整個文件物件
那是不是只可以用$來代替,不是。為了防止命名衝突,jQuery函式庫提供了另外的機制來為jQuery函數取另外的別名。
例如:
var jq = jQuery.noConflict(); // Do something with jQuery j("div p").hide(); // Do something with another library's $() $("content").style.display = 'none';
就可以在程式碼裡用jq 取代jQuery 和 $ 了。
簡單來說,$就是jquery對象,$()就是jQuery(),在裡面可以傳參數,作用就是取得元素。
jquery中的選擇器
jQuery 選擇器允許對 HTML 元素群組或單一元素進行操作。
jQuery 選擇器基於元素的 id、類別、類型、屬性、屬性值等"查找"(或選擇)HTML 元素。它基於已經存在的 CSS 選擇器,除此之外,它還有一些自訂的選擇器。
1 .基本選擇器
$("#test") 选择id值为test的元素,id值是唯一的所以返回单个元素。 $("div") 选择所有的div标签元素,返回div元素数组 $(".myclass") 选择使用myclass类的css的所有元素 $("*") 选取所有元素。 $("#test,div,.myclass") 选取多个元素。
2.層次選擇器
$("div span") 选取<div>里的所有<span>元素 $("div >span") 选取<div>元素下元素名是<span>的子元素 $("#one +div") 选取id为one的元素的下一个<div>同辈元素 等同于$("#one").next("div") $("#one~div") 选取id为one的元素的元素后面的所有<div>同辈元素 等同于$("#one").nextAll("div") $("#one").siblings("div") 获取id为one的元素的所有<div>同辈元素(不管前后) $("#one").prev("div") 获取id为one的元素的前面紧邻的同辈<div>元素 所以 获取元素范围大小顺序依次为: $("#one").siblings("div")>$("#one~div")>$("#one +div") 或是 $("#one").siblings("div")>$("#one").nextAll("div")>$("#one").next("div")
3.基本過濾選擇器
$("div:first") 选取所有<div>元素中第1个<div>元素 $("div:last") 选取所有<div>元素中最后一个<div>元素 $("input:not(.myClass)") 选取class不是myClass的<input>元素 $("input:even") 选取索引是偶数的<input>元素(索引从0开始) $("input:odd") 选取索引是基数的<input>元素(索引从0开始) $("input:eq(2)") 选取索引等于2的<input>元素 $("input:gt(4)") 选取索引大于4的<input>元素 $("input:lt(4)") 选取索引小于4的<input>元素 $(":header") 过滤掉所有标题元素,例如:h1、h2、h3等 $("div:animated") 选取正在执行动画的<div>元素 $(":focus") 选取当前获取焦点的元素
4.內容過濾選擇器
$("div:contains('Name')") 选取所有<div>中含有'Name'文本的元素 $("div:empty") 选取不包含子元素(包括文本元素)的<div>空元素 $("div:has(p)") 选取所有含有<p>元素的<div>元素 $("div:parent") 选取拥有子元素的(包括文本元素)<div>元素
5.可見性篩選選擇器
$("div:hidden") 选取所有不可见的<div>元素 $("div:visible") 选取所有可见的<div>元素
#6.屬性過濾選擇器
$("div[id]") 选取所有拥有属性id的元素 $("input[name='test']") 选取所有的name属性等于'test'的<input>元素 $("input[name!='test']") 选取所有的name属性不等于'test'的<input>元素 $("input[name^='news']") 选取所有的name属性以'news'开头的<input>元素 $("input[name$='news']") 选取所有的name属性以'news'结尾的<input>元素 $("input[name*='news']") 选取所有的name属性包含'news'的<input>元素 $("div[title|='en']") 选取属性title等于'en'或以'en'为前缀(该字符串后跟一个连字符'-')的<div>元素 $("div[title~='en']") 选取属性title用空格分隔的值中包含字符en的<div>元素 $("div[id][title$='test']") 选取拥有属性id,并且属性title以'test'结束的<div>元素
7.子元素過濾選擇器
$("div .one:nth-child(2)") 选取class为'one'的<div>父元素下的第2个子元素 $("div span:first-child") 选取每个<div>中的第1个<span>元素 $("div span:last-child") 选取每个<div>中的最后一个<span>元素 $("div button:only-child") 在<div>中选取是唯一子元素的<button>元素
8.表單物件屬性過濾選擇器
$("#form1 :enabled") 选取id为'form1'的表单内所有可用元素 $("#form2 :disabled") 选取id为'form2'的表单内所有不可用元素 $("input :checked") 选取所有被选中的<input>元素 $("select option:selected") 选取所有的select 的子元素中被选中的元素
9.表單選擇器
$(":input") 选取所有<input>,<textarea>,<select> 和 <button>元素 $(":text") 选取所有的单行文本框 $(":password") 选取所有的密码框 $(":radio") 选取所有单的选框 $(":checkbox") 选取所有的多选框 $(":submit") 选取所有的提交按钮 $(":image") 选取所有的图像按钮 $(":reset") 选取所有的重置按钮 $(":button") 选取所有的按钮 $(":file") 选取所有的上传域 $(":hidden") 选取所有不可见元素
jquery中的方法
jquery內建的方法(函數),用於對選取的函數進行操作
#例如:
#直接操作元素樣式的方法
CSS 屬性 | 描述 |
---|---|
css() | 設定或傳回符合元素的樣式屬性。 |
height() | 設定或傳回符合元素的高度。 |
offset() | 傳回第一個符合元素相對於文件的位置。 |
position() | 傳回第一個匹配元素相對於父元素的位置。 |
scrollLeft() | 設定或傳回符合元素相對捲軸左側的偏移。 |
scrollTop() | 設定或傳回符合元素相對捲軸頂部的偏移。 |
width() | 設定或傳回符合元素的寬度。 |
間接操作元素樣式的方法
#在jquery中,可以透過操作元素屬性來間接操作元素樣式。
方法 | 描述 |
---|---|
#addClass() | 新增指定的類別名稱。 |
attr() | 設定或傳回符合元素的屬性和值。 |
prop() | 設定或傳回被選元素的屬性/值 |
removeAttr() | 從所有符合的元素中移除指定的屬性。 |
removeClass() | 從所有符合的元素中刪除全部或指定的類別。 |
toggleClass() | 從符合的元素中新增或刪除一個類別。 |
擴充知識:
DOM模型
在DOM裡存在著許多不同類型的節點,通常分為3種:元素節點、文字節點、屬性節點。
DOM物件
在JavaScript中,可以使用getElementsByTagName()或是getElementsById()來取得元素節點,這樣得到的是DOM對象,它可以使用JavaScript中的方法。
jQuery物件
透過jQuery包裝DOM物件後產生的對象,能使用jQuery中的方法。
例:$(「#title」).html(); //取得id為title的元素內的html代碼
【等同於document.getElementsById(「title」). innerHTML】
jQuery物件與DOM物件的相互轉換
1)jQuery物件轉換成DOM物件
①jQuery物件是類似陣列的對象,可透過[index]的方法得到對應的DOM物件。
②透過get(index)方法得到對應的DOM物件。
2)DOM物件轉換成jQuery物件
需要用$()函數將DOM物件包裝起來,就可以得到一個jQuery物件。
【推薦學習:jQuery影片教學、web前端影片】
以上是jquery語法結構由哪幾部分組成的詳細內容。更多資訊請關注PHP中文網其他相關文章!