Ответ 1
// create a jQuery-boosted div
$div = $('<div></div>');
$div.attr('id','someId');
alert($div.attr('id'));
// to get the DOM element:
var div = $div[0];
// or
var div = $div.get(0);
или просто оберните элемент dom в $()
, как вы предположили:
$(d).attr('id','someId');
$(d).blah();
Используйте attr
, чтобы получить/установить атрибуты элемента. Я не уверен, есть ли один-liner, который может сбросить все атрибуты элемента и их соответствующие значения (firebug служит для этой цели для меня), но вы можете создать массив со всеми именами атрибутов, которые вам интересны, и сделать что-то вроде:
var attr = ['name', 'id', 'src', 'foo'];
var len = attr.length;
for (var i = 0; i < len; i++)
alert($(d).attr(attr[i]));
или используя $.each
:
$.each(['name', 'id', 'src', 'foo'], function(i,val) {
alert( 'Attribute: ' + val + ' Value: ' + $(d).attr(val) );
});