2011-12-10 140 views
3

我想從我的HTML元素獲取鍵名?如何從數據屬性獲取數據密鑰名稱?

示例代碼:

<td data-code="123">220</td> 

使用jQuery數據的方法我能鍵值,但我想提取關鍵的名字嗎?

var keyValue=$("td").data("code"); //123 


var keyName=????? 
+0

你期望var'keyName'返回什麼結果?你的意思是'220'? –

+0

不,我想提取密鑰名稱,因爲我不能硬編碼它。 – Nidhi

回答

2

數據代碼將是關鍵。

如果你想獲得對未知的鍵/值對的鍵,你可以使用一個for (var key in data) {}循環:

var all_values = [], 
    data  = $('td').data(); 
for (var key in data) { 
    all_values.push([key, data[key]]); 
} 
//you can now access the key/value pairs as an array of an array 

//if $(td).data() returns: `{code : 123}` then this code would return: [ [code, 123] ] 
//you could get the first key with: all_values[0][0] and its corresponding value: all_values[0][1] 
+0

其實我不知道密鑰名稱,我想比較一些JSON數據。 – Nidhi

+0

@Nidhi你必須知道關鍵的名字。這是一種字典類型。核心價值。你必須知道這個名字。 –

+0

如果我使用$(td).data()//其返回{code:123},是任何方法,我可以從對象獲得鍵名稱... – Nidhi

7

您可以訪問所有的數據項和值是這樣的:

$.each($("td").data(), function(key, value) { 
    console.log(key + ": " + value); 
}); 

HERE就是這樣的例子。

+0

這幫助了我,在我的情況下,divs得到了一個任意來自後端的未知data- *屬性的數量以及它們中的一些信息,並且我必須遍歷它們並顯示每個鍵的值......正是這樣做了! –