jQuery獲取方法

站前ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
data()方法
//HTML代碼?div id="myDiv" data-appid="123" data-myname="lsxj" data-app-id="456" data-my-name="secondname"/div
//獲取屬性
var appid = $("#myDiv").data("appid"); //123
var app-id = $("#myDiv").data("app-id"); //456
//屬性賦值?$("#myDiv").data("appid","666");
//最終HTML代碼?div id="myDiv" data-appid="123" data-myname="lsxj" data-app-id="456" data-my-name="secondname"/div
需要注意的是,data()的值進(jìn)行修改并不會影響到DOM元素上的data-*屬性的改變。data()的本質(zhì)其實是將一個 “cache” 附加到了對象上,并使用了一個特殊的屬性名稱。
所以上述代碼中,雖然對div進(jìn)行了data()賦值操作,但HTML代碼中div的data-appid的值仍然為123,因為data()只是修改了緩存的那個值,此時進(jìn)行$('#myDiv').data("appid")的操作,輸出的結(jié)果為666.
js獲取data-*的方式
通過dataset屬性訪問
//HTML代碼
div id="myDiv" data-appid="123" data-myname="lsxj"/div
//js代碼
var div = document.getElementById("myDiv");
var appId = div.dataset.appid;//獲取data-appid的值
var myName = div.dataset.myname;//獲取data-myname的值
//設(shè)置值
div.dataset.appid = 456;
div.dataset.myname = "newname";
//最終HTML結(jié)果
div id="myDiv" data-appid="456" data-myname="newname"/div
dataset屬性的值是DOMStringMap的一個實例,名值對的映射。每個data-name形式的屬性都有一個對應(yīng)的屬性,只不過該屬性名沒有data-前綴。
兼容性:
需要注意的是,dataset中大小寫的問題。帶連字符連接的名稱在使用的時候需要命名駝峰化。例如data-my-name對應(yīng)的是dataset.myName的值。可看以下代碼
//將上面代碼的設(shè)置值部分進(jìn)行修改
div.dataset.appId = 789;
div.dataset.myName = "secondname";
//最終結(jié)果
div id="myDiv" data-appid="123" data-myname="lsxj" data-app-id="456" data-my-name="secondname"/div
jquery中data() 方法向被選元素附加數(shù)據(jù),或者從被選元素獲取數(shù)據(jù)。
jquery中data() 方法向被選元素附加數(shù)據(jù),或者從被選元素獲取數(shù)據(jù)。這使我們通過HTML自定義屬性,操作數(shù)據(jù),顯得非常方便。通常我們也會通過給html自定義屬性這樣的做法,來存儲和操作數(shù)據(jù)。在jquery中也給我們
提供了data(name,value)這樣的方法,來非常方便的實現(xiàn)。有了data()這個方法,你就可以很方便的在一個html標(biāo)簽中添加data-*這樣的自定義屬性。接下來,就data()方法簡單的做下了解。
以下是摘自w3school中對data用法的說明:
data方法從元素中讀取數(shù)據(jù)的語法:
$(selector).data(name) name:可選。規(guī)定要取回的數(shù)據(jù)的名稱。
如果沒有規(guī)定名稱,則該方法將以對象的形式從元素中返回所有存儲的數(shù)據(jù)。
data方法從元素中存儲數(shù)據(jù)的語法:
$(selector).data(name,value)
name:必需。規(guī)定要設(shè)置的數(shù)據(jù)的名稱。
value:必需。規(guī)定要設(shè)置的數(shù)據(jù)的值。
當(dāng)然,我們在這里,也可以把一個包含鍵/值對的對象,向被選元素添加數(shù)據(jù)。語法如下:
$(selector).data(object)
object:必需。規(guī)定包含名稱/值對的對象。
Html代碼如下:
data方法之讀取數(shù)據(jù):
單個數(shù)據(jù):data-name="lichaoqiang"
存儲json數(shù)據(jù):{"user_id":20141111,"user_name":"lichaoqiang"}
注意:在元素data-*屬性中設(shè)置json數(shù)據(jù)時,需要注意單雙引號,否則可能出現(xiàn)undefined的,獲取不到數(shù)據(jù)。正確的做法是用雙引號。
data方法之存儲數(shù)據(jù):
這是一個div標(biāo)簽
如果你使用jQuery類庫,那么你可以非常愉悅的使用jquery的data()方法存取data-*
自定義屬性,方法允許我們在DOM元素上綁定任意類型的數(shù)據(jù),避免了循環(huán)引用的內(nèi)存泄漏風(fēng)險
主要的方法如下:
代碼如下:
.data(
key,
value
)
.data(
obj
)
.data(
key
)
.data()
從jQuery
1.4.3起,
HTML
5
data-
屬性
將自動被引用到j(luò)Query的數(shù)據(jù)對象中。
例如HTML:
復(fù)制代碼
代碼如下:div
data-role
=
"page"
data-last-value
=
"43"
data-hidden
=
"true"
data-options
=
'{"name":"John"}'
/div
下面的
jQuery代碼都是返回
true
的:
代碼如下:
$
(
"div"
)
.
data
(
"role"
)
===
"page"
;
$
(
"div"
)
.
data
(
"lastValue"
)
===
43
;
$
(
"div"
)
.
data
(
"hidden"
)
===
true
;
$
(
"div"
)
.
data
(
"options"
)
.
name
===
"John"
;
和html5的api不同的是,jQuery會嘗試將字符串轉(zhuǎn)換為一個JavaScript值(包括布爾值(booleans),數(shù)字(numbers),對象(objects),數(shù)組(arrays)和空(null))。如果這樣做不會改變數(shù)值的表示,那么該值將轉(zhuǎn)換為一個數(shù)字(number)。例如,“1E02”和“100.000”是等同于數(shù)字(數(shù)字值100),但將轉(zhuǎn)換它們會改變他們的表示,所以他們被保留為字符串。字符串值“100”被轉(zhuǎn)換為數(shù)字100。
如果數(shù)據(jù)(data)屬性是一個對象(以“{”開始)或數(shù)組(以'[‘開始),可以用jQuery.parseJSON
將其解析成字符串;它必須遵循
有效的JSON的語法
,包括帶雙引號的屬性名稱。如果該值不能解析為一個JavaScript值,它將被保留為字符串。
如果想將取出的屬性值直接當(dāng)作字符串的話,請使用
attr()
方法。
data-屬性是在第一次使用這個數(shù)據(jù)屬性后不再存取或改變(所有的數(shù)據(jù)值都在jQuery內(nèi)部存儲)。
調(diào)用
.data()
時如果不帶參數(shù),將會以
JavaScript
對象的形式獲取所有數(shù)據(jù)。這個對象可以安全的存放在變量中,因為一旦這個新對象被提取出來,之后對元素進(jìn)行的
.data(obj)
操作,將不會再影響這個對象。另外,直接操作這個對象會比每次調(diào)用
.data()
來設(shè)置或獲取值要快一些。
本文名稱:jquerydata,jQueryDataTables 處理中 禁止操作
網(wǎng)頁網(wǎng)址:http://chinadenli.net/article9/dsejioh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、網(wǎng)站維護(hù)、關(guān)鍵詞優(yōu)化、用戶體驗、域名注冊、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)