jquery實戰(四)-----包裝集、數組、增加等功能

1.包裝集

//1.JavaScript確定包裝集的大小
/*
	jquery元素包裝集運行起來與數組非常相似:像JavaScript數組那樣擁有length屬性。而這個屬性的值,就是包裝元素的個數。
	如果想要利用方法而不是length屬性,可以利用jquery定義的size()方法
*/
$('#someDiv').html('there are'+$('a').size()+'link(s) om this ');
/*裏面的$('a')包裝器,匹配所有<a>類型的元素,接着調用size()方法。返回匹配元素的個數。吧個數
用於拼湊字符串,然後調用html()方法。匹配的方式從左到右。因爲有括號,一般是從左到右,
*/
//獲取包裝集的元素
//從頁面上帶有Alt特性的所有<img>元素的集合中獲取第一個元素。
$('img[alt]')[0]
或者
//利用get(index)方法 
$('img[alt]').get(0)
//頁面上近鄰<label>元素的所有<button>元素包裝到jquery包裝器裏,然後創建有哪些元素所組成的JavaScript數組
//賦值給allLabeledButtons
var allLabeledButton = $('label+button').get();
//獲取下標
var n = $('img').index('img#findMe')[0]
//篩選元素包裝集
//1.添加更多元素到包裝集
//想要匹配帶有Alt或title特性的所有<img>元素 
$('img[alt],img[title]')
//說明add()方法的操作過程
$('img[alt]').add('img[title]')
//假定一個元素引用,命名爲someElement變量,則可以把元素添加到帶有Alt屬性的所有圖像集中:
$('img[alt]').add(someElement);
2.數組

//1.修整字符串
$.trim(value)
$('#someField').val($.trim($('#someField').val()));
//2.對屬性和集合進行迭代
var anArray ={'one','two'};
for(var n=0 ;n<anArray.length; n++){
	//do something
}
或者
$.each(anArray,function(n,value){
	//do somethinng
});
//3.對數組進行篩選
$.grep()
$.bigNumbers = $.grep(originalArray ,function(){
	return value >100;
});
3.增加等功能
//1.讓頁面生動起來
//操作元素,首先獲取元素。通過這個命令可以輕鬆地吧屬性設置到匹配集裏的所有元素上。
$('img').each(function(){
	this.alt ='th is image['n+']'+this.id;
})
//將所由值收集到一個數組裏
var allAlts = new Array();
$('img').each(function(){
	allAlts.push(this.alt);	
});
//如果只想獲取單個元素的屬性值(請記住匹配集可以當成JavaScript數組來處理),就可以通過如下語句獲取屬性
var altValue = $('#myImages')[0].alt;
//設置特性值的時候,注意特性值有那些?
$('*').attr('title',function(index){
	return 'i am elements' +index +'and my name is ' +(this.id ? this.id : 'unset');
});
//這個命令將分別作用於頁面上的所有元素,設置個元素的title特性爲一個字符串。
$('input').attr({
	value:'',title:'please enter a value'
});
//刪除特性
//removeAttr()
//解決雙重提交的問題,注意:這種方式防止不了攻擊,所有服務器端代碼必須繼續保持警惕
$("form").submit(function(){
	$(":submit",this).attr("disabled","disabled");
});
this指針總是引用已綁定事件的頁面元素
function swap(){
	$('tr').toggleClass('striped');
}
//這個函數利用toggleClass命令爲所有<tr>元素切換名爲striped的類。
//6.獲取設置樣式
$("div.expandable").css("width",function(){
	return $(this).width()+20+"px";
});
$("div.myElemenys").width(500)
等效於
$("div.myElemenys").css("width","500");
//7.設置元素內容
html()
//8.移動和複製元素
$('p').append('<b> some</b>');//追加到所有<p>元素的現有內容的末尾
$("p.appenfToMe").append($("a.appendMe");//把帶有類appendMe的所有鏈接,追加到帶有類appendMede<p>元素。
//9.包裹元素
$("a.surprise").wrap("<div class='hello'></div>");//把帶有surprise類的各種鏈接包裹在帶有類hello的<div>,
//10.克隆
$('img').clone().appendTo('fieldset.photo');//獲取圖像元素的副本並追加帶有類名photo的<fieldset>元素裏。
$('ul').clone().insertBefore('#here');//克隆所有的<ul>元素,包括她們的後代元素
$('ul').clone().insertBefore('#here').end().hide();//插入克隆副本之後,利用end()命令來選擇包裝集並隱藏它。




發佈了41 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章