通过传递DOM对象来创建JQuery对象?

时间:2009-10-25 20:12:29

标签: javascript jquery dom

所以,让我说我有这个:

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

所以,d是DOM对象,

如何创建或转换为jQuery对象?

e.g。 $(d) ???

以及如何“读取”jQuery对象的所有属性?就像PHP的var_dump一样。

1 个答案:

答案 0 :(得分:23)

// 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) );
});