如何将jQuery的$('#foo')转换为document.createElement创建的对象?

时间:2014-10-03 12:21:12

标签: javascript jquery

我有一个函数,它接受document.createElement的返回值并将其放在屏幕上的弹出窗口中。但是,我希望将此对象传递给弹出窗口,使其成为已创建的div,以便我可以轻松地操作弹出窗口内容。

基本上,我想转此:

var magicDiv = document.createElement('div');

进入:

var magicDiv = $('#divToBeTurnedIntoElement').html();

在第一种情况下,document.createElement具有特定的返回对象。我正在寻找返回与document.createElement相同类型的对象的jQuery函数。 在这两种情况下,magicDiv应该是完全相同的对象,但是对于jQuery版本,它是基于现有的div创建的。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找的是DOM object。 DOM对象通常由DOM选择和创建方法返回,如document.createElementdocument.getElementById

jQuery对象包含DOM对象的列表(或者,实际上,列表)。通过在jQuery对象上公开标准化API,jQuery可以省去直接与DOM对象(在浏览器中具有不一致实现的API)进行交互的麻烦。

为了从jQuery实例中提取低级DOM对象,可以使用.get(n)从jQuery对象中获取n th DOM元素&# 39; DOM元素列表:

var magicDiv = $('#divToBeTurnedIntoElement').get(0);

你也可以使用普通的数组索引,$('#divToBeTurnedIntoElement')[0],它有点短但灵活性稍差(例如,它不支持负索引)。