2015-02-27 2 views
0

Есть ли способ добавить «динамический» атрибут данных в элемент DOM с помощью jQuery?Добавить динамический атрибут данных с помощью jQuery

Это, к примеру, не работает:

var value = 100; 

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

Он бросает ошибку:

Uncaught SyntaxError: Unexpected token (

набл: насколько я знаю, если вы просуммировать строку с целым числом в JS , он будет использовать everthing как String, но в любом случае я попытался использовать String(), потому что, возможно, на каком-то языке, который работал для меня один раз.

Это, очевидно, не будет работать (это добавит 'custom_data', а не атрибут 'Data-100'):

var custom_data = 'data-100'; 

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

Javascript не имеет тип принуждения, что делает вы думаете, что 'String()' будет действительным? – adeneo

+1

'$ ('div'). Attr ('data -' + value, 'display: block');' – adeneo

ответ

2

Do

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

Ваш синтаксис неправильно видеть similar

Fiddle

+0

Получил его, он не должен находиться внутри объекта. Хотя он работает именно так, за исключением того, что он пытается использовать ключ для строки, это правильно? – zok

Смежные вопросы