В версии 1.4 вы можете сделать это:
$('#somediv').data({ one : 1, two : 2, three : 3 });
Это отличный способ инициализации объекта данных. ОДНАКО, в 1.4.2, имейте в виду, что использование этой формы ЗАМЕНИТ ЛЮБЫЕ существующие данные по этому элементу. Итак, если вы попробуете это:
$('#somediv').data( 'one', 1 );
$('#somediv').data({ two : 2, three : 3 });
Вы будете отбрасывать значение 'one'.
(Лично я считаю, что это позор, поскольку jQuery уже широко использует слияние объектов со своим $ .extend. Мне не понятно, почему это не было использовано здесь.)
ОБНОВЛЕНИЕ (предложено пользователем: @ricka, спасибо):
1.4.3 и далее объединяет данные (http://api.jquery.com/data/#data-obj):
В jQuery 1.4.3 установка объекта данных элемента с помощью .data (obj)
расширяет данные, ранее сохраненные с этим элементом. Сам jQuery
использует метод .data () для сохранения информации под именами 'events'
и «обрабатывать», а также резервирует любое имя данных, начиная с
подчеркивание ('_') для внутреннего использования.
До jQuery 1.4.3 (начиная с jQuery 1.4) метод .data ()
полностью заменил все данные, вместо того, чтобы просто расширить данные
объект. Если вы используете сторонние плагины, это не рекомендуется
полностью заменить объект данных элемента, так как плагины могут
также установить данные.