Подтвердить что ты не робот

Создать div с атрибутами данных

Я создаю div следующим образом

$('<div/>', {
    "class" : 'draggable player' + player + ' unit unit' + unit
})

И я не могу найти, какие другие свойства я могу назначить ему так же, как я назначаю класс. особенно если я могу назначить data или attr?

4b9b3361

Ответ 1

Согласно jQuery() документации по функциям (псевдоним $()), вы можете определить атрибуты, события и методы в течение этой секунды параметр.

Итак, все, что вы определили с помощью attr(), - это честная игра. Это включает в себя атрибуты "данные-все" (которые необычно доступны через $elem.data('whatever')), однако они не будут сохранены в jQuery.data, как и любые переменные, определенные через $elem.data('name', 'value') (по крайней мере, до тех пор, пока вы не назовете $elem.data('whatever') - см. <а4 > ).

Итак, чтобы уточнить:

var $elem = jQuery('<div/>', { 'data-test': "Testing" });

создаст этот элемент и вернет объект jQuery, содержащий его:

<div data-test="Testing"></div>

Оттуда вы сможете:

jQuery.data($elem[0], 'test'); // => undefined
$elem.data('test');            // => "Testing"
jQuery.data($elem[0], 'test'); // => "Testing"

Конечно, $elem.attr('data-test') также будет работать.

Ответ 2

Вы можете назначить любые атрибуты, которые вы хотите:

$('<div/>', {
    "class" : 'draggable player' + player + ' unit unit' + unit,
    "data-info": 'Anything you want',
    "even-non-validating-attributes": 'ANYTHING!!'
});

Здесь скрипка: http://jsfiddle.net/vCaym/