是否可以在1个数据属性中存储多个键/值?

sty*_*ler 1 javascript jquery

我想知道是否可以在data-attr类似的内部存储多个键/值:

?<a href="#" data-social="network:facebook; socialId:123456789" id="facebook">Facebook</a>
Run Code Online (Sandbox Code Playgroud)

然后在我的脚本中使用它们时,只需选择它们$('#facebook').data('social.socialId');或类似的东西,而不是将它们分解为各自的属性?

Ale*_*der 12

您无需将其限制为仅一个data-*属性.您可以随时使用多个.

?<a href="#" data-social-network="facebook" data-social-id="123456789" id="facebook">Facebook</a>
Run Code Online (Sandbox Code Playgroud)

var socialId = $('#facebook').data('social-id');
Run Code Online (Sandbox Code Playgroud)

但是,如果你仍然坚持.可以存储JSON字符串并解析它.

?<a href='#' data-social='{ "network": "facebook", "socialId": 123456789 }' id='facebook'>Facebook</a>
Run Code Online (Sandbox Code Playgroud)

var socialId = $('#facebook').data('social').socialId;
Run Code Online (Sandbox Code Playgroud)

jQuery自动解析JSON对象.