jQuery使用之標(biāo)記元素屬性用法實例
本文實例講述了jQuery使用之標(biāo)記元素屬性用法。分享給大家供大家參考。具體分析如下:
這里介紹jQuery的使用主要包括jQuery如何控制頁面,包含元素的屬性、css樣式風(fēng)格、DOM模型、表單元素和事件處理等。
標(biāo)記元素的屬性
html中每一個標(biāo)記都具有一些屬性,他們這個標(biāo)記在頁面中呈現(xiàn)各種狀態(tài),例如下面的<a>標(biāo)記
該標(biāo)記<a>表示標(biāo)記的名稱,為一個超鏈接,另外還有href titile target id等屬性表示這個超鏈接在頁面中的各種狀態(tài)。
本文從jQuery角度出發(fā),進(jìn)一步講解頁面屬性控制方法。
1.each()遍歷元素
each(callback)方法主要用于對選擇器中的元素進(jìn)行遍歷,它接受一個函數(shù)作為參數(shù),這個函數(shù)接受一個參數(shù),指代元素的序號。對于標(biāo)記的屬性而言,可以利用each()方法配合this關(guān)鍵字來獲取或者設(shè)置選擇器中的每個元素對應(yīng)的屬性值。
使用each()方法遍歷所有元素。
$(function() {
$("p").each(function(index){
this.title = "這是第"+ (index+1) + "個P,id是:"+ this.id;
});
});
</script>
<div>
<p id="001">第一段</p>
<p id="002">第二段</p>
<p id="003">第二段</p>
<p id="004">第二段</p>
<p id="005">第二段</p>
<p id="006">第二段</p>
<p id="007">第二段</p>
</div>
以上代碼中有7個P元素,首先利用$("p")獲取頁面中所有p元素集合,然后使用each()方法遍歷所有的圖片。通過this關(guān)鍵字對圖片進(jìn)行訪問,獲取圖片的id,并設(shè)置圖片的id屬性。其中each()方法的函數(shù)index為元素所處的序號。
2.獲取屬性的值。attr(name)方法
除了在遍歷整個選擇器中的元素。很多時候需要得到某個對象的特點的值,在jQuery中可以通過attr(name)方法很輕松的實現(xiàn)這一點。該方法獲取元素集中第一個的屬性值。如果沒有匹配則返回unfefined.
$(function() {
var sTitle = $("p").attr("title");//獲取第一個p元素的title屬性值
$("#display").text(sTitle);
});
</script>
<div>
<p id="001" title="isaac,hobby">第一段</p>
<p id="002" title="isaac,hobby">第二段</p>
<p id="003">第二段</p>
<p id="004">第二段</p>
<p id="005">第二段</p>
<p id="006">第二段</p>
<p id="007">第二段</p>
<span id="display"></span>
</div>
如果,想獲取第二個p的title屬性值,則可以通過位置選擇器來完成。
var sTitle = $("p:eq(1)").attr("title");//獲取第2個p元素的title屬性值
$("#display").text(sTitle);
});
3.設(shè)置屬性的值。attr(name,value)
attr()方法除了可以獲取元素的值外,還可以設(shè)置屬性的值,通用 的表達(dá)式為
例如:下面代碼將使頁面的超鏈接都在新窗口打開。
$(function() {
$("a[href*=http]").attr("target","_blank");
});
</script>
例子:
function DisableBack() {
$("button:gt(0)").attr("disabled", "disabled");
}
</script>
<div>
<button onclick="DisableBack()">第一個Button</button>
<button>第二個Button</button>
<button>第三個Button</button>
</div>
通過位置選擇器,當(dāng)單擊第一個按鈕時,后面兩個按鈕同時被禁用。
很多時候,我們希望屬性的值能根據(jù)不同的元素有規(guī)律的變化。這個時候我們可以使用attr(name,fn),第二個參數(shù)為一個函數(shù)。該函數(shù)接受一個參數(shù),為元素的序號,返回值為字符串。
$(function() {
$("div").attr("id", function(index) {
//將id設(shè)置為序號相關(guān)的參數(shù)
return "div-id" + index;
}).each(function() {
//找到每一項的span標(biāo)記
$(this).find("span").html("(id='" + this.id + "')");
});
});
</script>
<div>第0項 <span></span>
</div>
<div>第1項 <span></span>
</div>
<div>第2項 <span></span>
</div>
返回內(nèi)容:
第1項 (id='div-id1')
第2項 (id='div-id2')
以上代碼通過attr(name,fn)將頁面中所有的<div>塊的id屬性值設(shè)置為序號相關(guān)的參數(shù)。并通過each()方法遍歷div塊,將id值顯示在各自的<span>標(biāo)記中。這可以看到j(luò)Query鏈的強(qiáng)大。
有的時候?qū)τ谀承┰?,希望同時設(shè)置它不同的屬性,如果采用上面的方法則需要一個個屬性設(shè)置。jQuery很人性化, attr()還提供一個列表設(shè)置attr(properties)方法。可以設(shè)置多個屬性。
$(function() {
$("img").attr({
src: "06.jpg",
title: "名字1",
alt: "名字2"
});
});
</script>
<img>
<img>
<img>
<img>
<img>
執(zhí)行結(jié)果:
<img src="06.jpg" title="名字1" alt="名字2">
<img src="06.jpg" title="名字1" alt="名字2">
<img src="06.jpg" title="名字1" alt="名字2">
<img src="06.jpg" title="名字1" alt="名字2">
4.刪除屬性
當(dāng)設(shè)置某個元素屬性的值時,可以通過removeAttr(name)方法將屬性值刪除。這時元素將恢復(fù)默認(rèn)的設(shè)置。例如下面的代碼使得所有按鈕均不被禁用。
$("button").removeAttr("disabled")
});
removeAttr(name)刪除屬性相當(dāng)于html標(biāo)記中不刪除該屬性。并不是取消了該標(biāo)記的這個特點。上述代碼運行后,所有按鈕依然具有設(shè)置為禁用的能力。
希望本文所述對大家的jQuery程序設(shè)計有所幫助。
相關(guān)文章
jQuery插件FusionCharts實現(xiàn)的3D柱狀圖效果實例【附demo源碼下載】
這篇文章主要介紹了jQuery插件FusionCharts實現(xiàn)的3D柱狀圖效果,結(jié)合具體實例形式詳細(xì)分析了FusionCharts插件繪制3D柱狀圖的具體步驟與相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03jQuery.Uploadify插件實現(xiàn)帶進(jìn)度條的批量上傳功能
這篇文章主要介紹了jQuery.Uploadify插件實現(xiàn)帶進(jìn)度條的批量上傳功能,還具有取消上傳及刪除等功能,具有一定參考借鑒價值,需要的朋友可以參考下2016-06-06jquery如何改變html標(biāo)簽的樣式(兩種實現(xiàn)方法)
對于如何修飾html標(biāo)簽,這對于js來說,可以通過setAttribute來設(shè)置標(biāo)簽的屬性,通過getAttribute來得到標(biāo)簽的屬性,而在jq中當(dāng)然也可以實現(xiàn)類似的功能,方法上肯定比js要簡化多了,接下來介紹實現(xiàn)方法,感興趣的朋友可以了解下2013-01-01利用jQuery設(shè)計一個簡單的web音樂播放器的實例分享
這篇文章主要介紹了利用jQuery設(shè)計一個簡單的web音樂播放器的實例分享,包括PHP后臺和從MySQL中讀取曲目等基本功能的實現(xiàn),需要的朋友可以參考下2016-03-03jquery實現(xiàn)焦點圖片隨機(jī)切換效果的方法
這篇文章主要介紹了jquery實現(xiàn)焦點圖片隨機(jī)切換效果的方法,涉及jQuery插件jquery.easing.1.3.js的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03基于jquery實現(xiàn)的上傳圖片及圖片大小驗證、圖片預(yù)覽效果代碼
基于jquery實現(xiàn)的上傳圖片及圖片大小驗證、圖片預(yù)覽效果代碼,需要的朋友可以參考下。2011-04-04