создать объект JQuery, передав объект DOM? - PullRequest
19 голосов
/ 25 октября 2009

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

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

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

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

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

и как «прочитать» все атрибуты объекта jQuery? так же, как var_dump в PHP.

1 Ответ

23 голосов
/ 25 октября 2009
// 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, чтобы получить / установить атрибуты элемента. Я не уверен, есть ли однострочная строка, которая может записать все атрибуты элемента и их соответствующие значения ( 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) );
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...