使用 jQuery 添加动态数据属性

Add dynamic data-attribute with jQuery

有没有办法将 "dynamic" 数据属性添加到具有 jQuery 的 DOM 元素?

例如,这不起作用:

var value = 100;

// hoping to add a 'data-100' attribute 
$('div').attr({
  String('data-' + value) :'display: block'
});

它抛出错误:

Uncaught SyntaxError: Unexpected token (

obs:据我所知,如果你在 JS 中将一个字符串与一个整数相加,它会将所有内容都转换为一个字符串,但无论如何我尝试使用 String() 因为可能在某种对我有用的语言中。

这显然行不通(它将添加 'custom_data' 而不是 'data-100' 属性):

var custom_data = 'data-100';

// hoping to add a 'data-100' attribute 
$('div').attr({
  custom_data :'display: block'
});

$('div').attr("data-"+value,"display:block");

您的语法错误,请参阅 similar

Fiddle