您好,登錄后才能下訂單哦!
今天逛Q群遇到一個網友請教問題:
問題如下,他需要在查找ID為sch開頭的元素中分別查找出各自包含sub001的數量,
如:ID:sch002、sch033 DIv元素等等后面的數字是隨機的,里面都會包含sub001元素,數量不一;一開始網友是想打算使用for循環來解決,無疑會中招;因為第一循環量大(因為你無法預計sch后的數字有多小位需要設定一個)造成運行損耗內存大,運行速度慢,而且查找到沒有元素操作時會報錯。
所以我介紹他使用^= Jquery的統配選擇符,確實好使好用立馬解決他的問題;解決原一后他又提了一個問題,他需要分別獲取sch后面那個數字需要怎么做? 其實來到這一步思路都清晰的,直接獲取一下是sch開頭的元素,然后$(this) attr一下ID屬性,再利用js截取一下字符,OK搞掂 !!
下面就是一個小例子:
$(function(){
$("div[id^='sch']").each(function(){
var schsize = $(this).find('#sub001').size();
var thisId = $(this).attr('class');
alert(thisId+"含#d1的數量為"+schsize );
//利用substring截取sch后的數字
alert(thisId.substring(3) )
})
})
<div id="sch002">
<div id="sub001"></div>
<div id="sub001"></div>
<div id="sub001"></div>
<div id="sub002"></div>
</div>
<div id="sch033">
<div id="sub001"></div>
<div id="sub002"></div>
<div id="sub001"></div>
<div id="sub002"></div>
</div>
普及一下:
1.選擇器
(1)通配符:
$("input[id^='code']");//id屬性以code開始的所有input標簽
$("input[id$='code']");//id屬性以code結束的所有input標簽
$("input[id*='code']");//id屬性包含code的所有input標簽
(2)根據索引選擇
$("tbody tr:even"); //選擇索引為偶數的所有tr標簽
$("tbody tr:odd"); //選擇索引為奇數的所有tr標簽
(3)獲得jqueryObj下一級節點的input個數
jqueryObj.children("input").length;
(4)獲得class為main的標簽的子節點下所有<a>標簽
$(".main > a");
(5)選擇緊鄰標簽
jqueryObj.next("div");//獲取jqueryObj標簽的后面緊鄰的一個div,nextAll獲取所有
2.篩選器
//not
$("#code input:not([id^='code'])");//id為code標簽內不包含id以code開始的所有input標簽
3.事件
//處理文本框上的鍵盤操作
jqueryObj.keyup(function(event){
var keyCode = event.which;//獲取當前按下鍵盤的鍵值,回車鍵為13
}
4.工具函數
$('#someField').val($.trim($('#someField').val()));//消除空格,語法:$.trim(value)
不會到會,只是一個過程!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。