【JQuery/整理】篩選器用法小結+JQ追加HTML/獲取屬性
大家好呀,好久不見,正所謂一日不見如隔三秋,咱這兩個月沒見估計都快把小D給忘了哈,額,這個主要怪我啦,這段時間都在趕畢業設計,這不看著快做完了,眼下整理下有關web前臺的資料,這回先貼出一部分JQuery相關的用法和小技巧,一來呢方便我檢視;二來呢還是慣例,幫助我們後來的朋友,哈哈。
好了,再多扯淡的話還不如咱乾貨來得直接,我上網看朋友們的文章也是一樣的,實實在在的乾貨是最討人喜歡的了,小D馬上呈現上來!
JQuery篩選器用法小結
一、選擇物件
1.1基本選取方式
1、#id:根據給定的ID匹配一個元素。例如:$("#xxx_id")
2、element:匹配所有給定的元素名的元素。例如:
$("div")
3、.class:根據給定的類匹配元素。例如:
$(".cls1")
4、*:匹配所有元素。例如:
$("*")
5、selector1,selector2,…,selectorN:將每一個選擇器匹配到的元素合併後一起返回。例如:
$("#xxx_id, div, .cls1")
特殊的,下面是一些表單裡面的一些物件選擇方法
1.2表單類選取方式
1、:button:匹配所有按鈕。例如:$(":button")
2、:checkbox 匹配所有複選框。例如:$(":checkbox")
3、:file 匹配所有檔案域。例如:$(":File")
4、:hidden 匹配所有不可見元素,或type屬性為hidden的元素。例如:
$("input:hidden")
5、:image 匹配所有影象。例如:
$(":image")
6、:input 匹配所有 input, textarea, select 和 button 元素。例如:
$(":input")
7、:password 匹配所有密碼框。例如:
$(":password")
8、:radio 匹配所有單選按鈕。例如:
$(":radio")
9、:reset 匹配所有重置按鈕。例如:
$(":reset")
10、:submit 匹配所有提交按鈕。例如:
$(":submit")
11、:text 匹配所有的單行文字框。例如:
$(":text")
12、:header 匹配如 h1, h2, h3之類的標題型別的元素。例如:
$(":header").css("background", "#000FFF");
二、條件篩選
2.1通過屬性篩選
1、[attribute*=value] 匹配給定的屬性是以包含某些值的元素。例如:$("input[name*='dark'")
2、[attribute!=value] 匹配所有含有指定的屬性,但屬性不等於特定值的元素。例如:$(input[name!='dark')
3、[attribute$=value] 匹配給定的屬性是以某些值結尾的元素。例如:$("input[name$='dark']")
4、[attribute=value] 匹配給定的屬性是某個特定值的元素。例如:$("input[name='dark']")
5、[attribute] 匹配包含給定屬性的元素。例如:$("div[id]")
6、[attribute^=value] 匹配給定的屬性是以某些值開始的元素。例如:$("input[name^='dark']")
7、[selector1][selector2][selectorN] 的形式可以表示同時滿足多個條件。例如:$("input[id][name='dark']")
8、:hidden 匹配所有的不可見元素。例如:$("tr:hidden")
9、:visible 匹配所有的可見元素。例如:$("tr:visible")
10、:checked 匹配所有選中的被選中元素(複選框、單選框等,不包括select中的option)。例如:$("input:checked")
11、:disabled 匹配所有不可用元素。例如:$("input:disabled")
12、:enabled 匹配所有可用元素。例如:$("input:enabled")
13、:selected 匹配所有選中的option元素。例如:$("select option:selected")
2.2通過內容篩選
1、:contains(text) 匹配包含給定文字的元素。例如:$("div:contains('John')")
2、:empty 匹配所有不包含子元素或者文字的空元素。例如:$("td:empty")
3、:has(selector) 匹配含有選擇器所匹配的元素的元素。例如:$("div:has(p)")
4、:parent 匹配含有子元素或者文字的元素。例如:$("td:parent")
2.3通過層級篩選
1、grade_parent child 在給定的祖先元素下匹配所有的後代元素。例如:$("form input")
2、parent > child 在給定的父元素下匹配所有的子元素。例如:$("form > input")
3、prev + next 匹配所有緊接在 prev 元素後的 next 元素。例如:$("label + input")
4、prev ~ siblings 匹配 prev 元素之後的所有 siblings 元素。例如:$("form ~ input")
5、:first-child 匹配第一個子元素。例如:$("ul li:first-child")
6、:last-child 匹配最後一個子元素。例如:$("ul li:last-child")
7、:nth-child(index/even/odd/equation) 匹配其父元素下的第N個子或奇偶元素。例如:$("ul li:nth-child(2)")
8、:only-child 如果某個元素是父元素中唯一的子元素,那將會被匹配。例如:$("ul li:only-child")
2.4通過特殊條件篩選
1、:animated 匹配所有正在執行動畫效果的元素。例如:$("div:animated")
2、:eq(index) 匹配一個給定索引值的元素(從 0 開始)。例如:$("tr:eq(1)")
或$("div").eq(1)
3、:even 匹配所有索引值為偶數的元素(從 0 開始)。例如:$("tr:even")
4、:first 匹配找到的第一個元素。例如:$("tr:first")
5、:gt(index) 匹配所有大於給定索引值的元素(從 0 開始)。例如:$("tr:gt(0)")
6、:last 匹配找到的最後一個元素。例如:$("tr:last")
7、:lt(index) 匹配所有小於給定索引值的元素。例如:$("tr:lt(2)")
8、:not(selector) 去除所有與給定選擇器匹配的元素。例如:$("input:not(:checked)")
9、:odd 匹配所有索引值為奇數的元素(從 0 開始)。例如:$("tr:odd")
三、我的小例子
上面整理蒐集了一些資料,下面整合一下來個我專案中的例子:
// 篩選所有被選中的name屬性為SubjectPager_CB的checkbox
$("input:checkbox[name='SubjectPager_CB']:checked").each(
// 遍歷選擇器選出來的集合,
function() {
// $(this)為集合內的每個專案...
}
);
$("#addSubject span").size();// 獲取ID為addSubject的標籤下span元素的數量
有了個實戰的是不是看得舒服些啦?哈哈,下面我們繼續!
追加html
一、html()
$(“#DElement”).html([…]) 操作節點中的內容,一般我們可以用來快速給一個容器中賦值或者取出其中的值。
舉個栗子:
原始HTML如下:
<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>
則執行$("p").html("abc");
的結果如下:
<div>div1 content</div>
<p>abc</p>
<div>div2 content</div>
然後再執行$("p").html();
獲取到的內容如下:
abc
二、append()
$(“#DElement”).append(…) 追加到節點中的末尾處。
舉個栗子:
原始HTML如下:
<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>
則執行$("p").append("abc");
的結果如下:
<div>div1 content</div>
<p>p contentabc</p>
<div>div2 content</div>
三、prepend()
$(“#DElement”).prepend(…) 追加到節點中的起點。
舉個栗子:
原始HTML如下:
<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>
則執行$("p").prepend("abc");
的結果如下:
<div>div1 content</div>
<p>abcp content</p>
<div>div2 content</div>
四、after()
$(“#DElement”).after(…) 追加到節點的後面。
舉個栗子:
原始HTML如下:
<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>
則執行$("p").prepend("<p>abc</p>");
的結果如下:
<div>div1 content</div>
<p>p content</p>
<p>abc</p>
<div>div2 content</div>
五、before()
$(“#DElement”).before(…) 追加到節點的前面。
舉個栗子:
原始HTML如下:
<div>div1 content</div>
<p>p content</p>
<div>div2 content</div>
則執行$("p").prepend("<p>abc</p>");
的結果如下:
<div>div1 content</div>
<p>abc</p>
<p>p content</p>
<div>div2 content</div>
六、彩蛋:text()
這個就太簡單了哈,和$("element_id").html()
、document.getElementById("element_id").innerHTML()
類似,同document.getElementById("element_id").innerTEXT()
,獲取/設定標籤內的純文字資訊,注意哈,在這裡如果寫入了標籤,比如$("#element_id").text("<p>haha</p>");
則裡面的標籤仍然會顯示出來的哦!
JQ獲取屬性
這個相信對大夥兒來說肯定很簡單的啦,畢竟我用到這個比較少,有些朋友喜歡自定義屬性來寄存些內容到標籤上方便呼叫之類的,或者是通過篩選然後再遍歷獲取其中的某些屬性,這些都是N多種會用到這個的方法啦,我就簡單講一下吧。
$("div .cls1").eq(0).attr("id");// 獲取父元素為div,自身擁有cls1類的第一個元素的ID屬性,想要什麼屬性就填入就行啦
$("div .cls1").eq(0).attr("name", "haha");// 設定其name屬性的值為haha
// 下面是對文字框值的操作
$("#input_element_id").attr("value",'');// 清空input內容
$("#input_element_id").attr("value",'11');// 填入input內容
// 下面是對單/多選框的操作
$("#chk").attr("checked",'');// 設定未選中
$("#chk").attr("checked",true);// 設定選中
if($("#chk").attr('checked') == undefined) // 判斷是否選中
後話
最近看了一篇文章,講JQ的,說到JQ貌似“落後”了,有新的庫擴充前臺自然是件好的事情,但是作為一個應屆考研落榜生,在參加工作之前就碰到了這種事情略是感覺尷尬,不管啦,好好學習吧,誰剛入行就能牛逼的嘛,腳踏實地的準備著牛逼之路吧!