收集所有数据属性?

Vin*_*hua 1 javascript arrays jquery attributes

我的网页是动态生成的,数据 - 跑道 - 链接,数据 - 视频 - 链接,数据 - 后台 - 链接,将来会有更多......

模式总是像这个data-xxx-link,我想要做的是,提取每个中的"xxx"文本将它们存储在一个数组中,以便我可以使用javascript引用每个信息

 <li> <a data-season="Designer Profiles" data--link="123" data-video-link="1233"> </a></li>
 <li> <a data-season="Spring/Summer 2014" data-Runway-link="abc" data-video-link="abc"> 3.1 Phillip Lim</a></li>
 <li> <a data-season="Spring/Summer 2014" data-Runway-link="abc" data-video-link="abc"> Acne Studios</a></li>
 <li> <a data-season="Spring/Summer 2014" data-Runway-link="abc" data-video-link="abc"> Aigner</a></li>
 <li> <a data-season="Spring/Summer 2014" data-Backstage-link="abc" data-video-link="abc"> Alexander McQueen</a></li>
 <li> <a data-season="Spring/Summer 2014" data-Runway-link="abc" data-video-link="abc"> Alexander Wang</a></li>
Run Code Online (Sandbox Code Playgroud)

Ser*_*nko 6

$('a').each(function(){
 console.log($(this).data())
})
Run Code Online (Sandbox Code Playgroud)

结果将如下所示:

{season: 'Designer Profiles', 'runwayLink':'abc' ...}
Run Code Online (Sandbox Code Playgroud)

小提琴:

http://jsfiddle.net/acrashik/NnHqQ/5/

第2步:从键中删除单词链接

最简单的方法是:

function removeLiknfromKey(data) {
    var jsonstr = JSON.stringify(data);
    var new_jsonstr = jsonstr.replace(/Link":/g, '":');
    var new_obj = JSON.parse(new_jsonstr);
    return new_obj;
}
Run Code Online (Sandbox Code Playgroud)

您将拥有一个仅包含XXX名称的对象.

小提琴:

http://jsfiddle.net/acrashik/NnHqQ/6/

现在你可以很好地使用它,只使用名称:

data.runway, data.video, data.season ... etc
Run Code Online (Sandbox Code Playgroud)