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

Создать объект JQuery, передав объект DOM?

Итак, скажем, у меня есть это:

var d = document.createElement('div');
d.id = "whatever";`

Итак, d - объект DOM,

как я могу создать или преобразовать его в объект jQuery?

например. $(d)

и как "читать" все атрибуты объекта jQuery? как и var_dump PHP.

4b9b3361

Ответ 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) );
});