首頁  >  文章  >  web前端  >  jquery怎麼給元素設定屬性

jquery怎麼給元素設定屬性

青灯夜游
青灯夜游原創
2022-03-10 18:42:117017瀏覽

設定方法:1、使用attr()方法,語法“$(selector).attr(屬性名稱,值)”或“$(selector).attr({屬性名稱:值;})” ;2、使用prop()方法,語法「$(selector).prop(屬性名,值)」。

jquery怎麼給元素設定屬性

本教學操作環境:windows7系統、jquery1.10.2版本、Dell G3電腦。

jquery給元素設定屬性

#1、使用attr()方法

attr( ) 方法設定或傳回被選元素的屬性值。根據該方法不同的參數,其工作方式也有所差異。

語法:

//单个属性
$(selector).attr(属性名,值)

//多个属性
$(selector).attr({属性名:值;属性值:值...})

2、使用prop()方法

prop() 方法設定或傳回被選取元素的屬性和值。

當方法用於設定屬性值時,則為符合元素集合設定一個或多個屬性/值對。

語法:

//单个属性
$(selector).prop(属性名,值)
//多个属性
$(selector).prop({属性名:值;属性值:值...})

3、attr()和prop()方法的差異

prop() 方法和attr() 方法相似,都是用來取得或設定元素的HTML 屬性的,不過兩者也有著本質上的差異。

jQuery 官方建議:具有true 和false 這兩種取值的屬性,如checked、selected 和disabled 等,建議使用prop() 方法來操作,而其他的屬性都建議使用attr() 方法來操作。

範例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<script src="js/jquery-1.10.2.min.js"></script>
		<script>
			$(function () {
            $(&#39;input[type="radio"]&#39;).change(function(){
                var bool = $(this).attr("checked");
                if(bool){
                    $("p").text("你选择的是:" + $(this).val());
                }
            })
        })
    </script>
	</head>
	<body>
		<div>
			<label><input type="radio" name="fruit" value="苹果" />苹果</label>
			<label><input type="radio" name="fruit" value="香蕉" />香蕉</label>
			<label><input type="radio" name="fruit" value="西瓜" />西瓜</label>
		</div>
		<p></p>
	</body>
</html>

預覽效果如圖 1 所示。

jquery怎麼給元素設定屬性

分析

$().change(function(){
    ……
})

上面表示的是 jQuery 中的 change 事件,與 JavaScript 的 onchange 事件是一樣的,我們在之後會詳細介紹。

在這個例子中,我們其實是想透過$(this).attr("checked")判斷單選框是否被選中,如果被選中,就取得該單選框的 value 值。可是運行程式碼後發現:完全沒有效果!這是為什麼呢?

實際上,對於表單元素的 checked、selected、disabled 這些屬性,我們使用 attr() 方法是無法取得的,而必須使用 prop() 方法來取得。因此,我們把 attr() 方法替換成 prop() 方法就有效果了。

其實,prop()方法的出現就是為了彌補 attr() 方法在表單屬性運算中的不足。記住一句話:如果某個屬性沒法使用 attr() 方法來取得或設置,改換 prop() 方法就可以實作。

【推薦學習:jQuery影片教學web前端影片

以上是jquery怎麼給元素設定屬性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn