【问题标题】:How to get data key name from data attribute?如何从数据属性中获取数据键名?
【发布时间】:2011-12-10 20:00:33
【问题描述】:

我想从我的 html 元素中获取键名?

示例代码:

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

使用 jquery 数据方法我可以键入值但我想提取键名?

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


var keyName=?????

【问题讨论】:

  • 你期望 var keyName 返回什么?你的意思是“220”?
  • 不,我想提取键名,因为我无法对其进行硬编码..

标签: jquery


【解决方案1】:

您可以通过这种方式访问​​所有数据键和值:

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

HERE就是一个例子。

【讨论】:

  • 这对我有帮助,在我的情况下,div 从后端获得了任意数量的未知数据-* 属性,其中包含一些信息,我必须遍历它们并显示每个键的值。 .. 这正是它的作用!
【解决方案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]

【讨论】:

  • 其实我不知道我想和一些json数据比较的键名。
  • @Nidhi 你必须知道键名。这是一个字典类型。核心价值。你必须知道这个名字。
  • 如果我使用 $(td).data() // 它的返回 {code : 123} ,是我能够从对象获取键名的任何方法...
【解决方案3】:

我通过 id 获取元素,然后像这样在属性映射中找到它

HTML 元素

<a class="content-link" id="main" data-content="main" href="#"></a>

Javascript

$("#main")[0].attributes["data-content"].value;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    • 2014-01-30
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    相关资源
    最近更新 更多