【问题标题】:create JQuery object by passing DOM object?通过传递 DOM 对象创建 JQuery 对象?
【发布时间】:2009-10-25 20:12:29
【问题描述】:

所以,假设我有这个:

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

所以,d 是 DOM 对象,

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

例如 $(d)???

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

【问题讨论】:

  • 如果您只想查看与 $(d) 关联的属性和函数,请执行 console.log($(d)),它将在 firebug 中打印对象 $(d) 的详细信息安慰。这仅适用于带有 firebug add on 的 firefox

标签: javascript jquery dom


【解决方案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 获取/设置元素属性。我不确定是否有一个单行器可以转储元素的所有属性及其各自的值(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) );
});

【讨论】:

    猜你喜欢
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    相关资源
    最近更新 更多