javascript - 通过传递 DOM 对象创建 JQuery 对象?

标签 javascript jquery dom

所以,假设我有这个:

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

所以,d 是 DOM 对象,

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

例如 $(d) ???

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

最佳答案

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

关于javascript - 通过传递 DOM 对象创建 JQuery 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1621946/

相关文章:

javascript - 如何在单击按钮时添加新的文本字段?

javascript - 禁用 cookie,直到用户通过 javascript 接受它们

javascript - 当我取消选中另一个复选框时自动重新选中一个复选框

jquery - 如何为全屏页面制作流畅的css动画?

c# - 加载 XML 时出现数据无效错误

javascript - 如何使用 jQuery 创建文本节点?

javascript - node.js 是否能够从 URL 读取?

javascript - NodeJs - 检查子进程是否成功启动

jquery - 如何使用此代码使用 jquery 更改 css 属性

javascript - iFrame javascript 影响父 DOM