如何从IE8中的标记获取数据对象

时间:2013-10-21 21:22:39

标签: javascript jquery html html5 internet-explorer-8

在chrome中,这行代码返回一些有用的东西。

$('[data-buyername]').data()
显然,它会返回标记data-buyername='somethingArbitrary'

的值

在IE8中,.data()不会返回任何内容。

有没有人知道如何从这样的标签中获取数据(包括密钥和值)?

...

在chrome中,.data()返回字典{'buyername':'somethingArbitrary'},但IE8返回一个空字典{}

1 个答案:

答案 0 :(得分:0)

我没有在IE8中专门尝试这个,但您可以看到手动查看element's属性是否有效:

var buyerData = $('[data-buyername]').get(0); // Returns the vanilla DOM element

function getData(el) {
    var o = {},
        attrs = el.attributes,
        attr = null;

    for (var i in attrs) {
        attr = attrs[i];
        if (attr.name && attr.name.indexOf('data-') != -1) o[attr.name] = attr.value;
    }

    return o;
}

var data = getData(buyerData);
console.log(data);