Javascript 删除$()jQuery包装器以仅获取原始JS元素
出于好奇,随机提问: 不管出于什么原因,我从函数中得到一个元素Javascript 删除$()jQuery包装器以仅获取原始JS元素,javascript,jquery,Javascript,Jquery,出于好奇,随机提问: 不管出于什么原因,我从函数中得到一个元素 $(element) 但是我想删除$(\uuu)jQuery包装器,以保留常规DOM元素: element 这可能吗?(我确信测试$(元素)是明智的。length()以确保它事先也不超过一件事 或 在不带索引的情况下调用get(),可以得到一个元素数组 参考:DOM元素作为属性存储在基于零的数字索引中,因此您可以像访问任何其他对象一样访问它们 $jqObj[0]; 或者使用 小提琴: $(element).length如果你
$(element)
但是我想删除$(\uuu)jQuery包装器,以保留常规DOM元素:
element
这可能吗?(我确信测试$(元素)是明智的。length()
以确保它事先也不超过一件事
或
在不带索引的情况下调用get()
,可以得到一个元素数组
参考:DOM元素作为属性存储在基于零的数字索引中,因此您可以像访问任何其他对象一样访问它们
$jqObj[0];
或者使用
小提琴:
$(element).length
如果你想检查它是否有超过1个元素,那就更好了。啊,这就是我的意思,不是吗.size()
现在就调用它吧?是的,但是使用.size
只是一个额外的函数调用,这是不必要的。非常正确,哇,这是一个比我预想的更新的问题:/哈哈,出于某种原因,我以前从来没有这样做过……有没有一种简单的方法来测试它是否是一个jQuery对象?试试alert($('anything')instanceof$);
将代码发布到消息中,不要只链接到第三方网站。悲哀的是,我也知道要做$(元素)[0]
哈哈……感谢上帝,今天是星期五,我需要休息一下哈哈。有什么理由使用.get()
过.toArray()吗
,或者反之亦然?@mcpDESIGNS:为了清楚起见,我不认为epascarello实际上是在建议使用$(元素)[0]
,这是没有意义的。你只需要[0]
或.get(0)
当你得到一个以前构造的jQuery对象时。是的,我知道你们的意思是可以通过[0]
第一个元素来分解它。伙计们,感谢它!@mcpDESIGNS:the.get()
方法允许您在特定索引处获取元素。如果不提供索引,它将返回所有元素的数组。.toArray()
方法仅返回数组。因此x[0]
相当于x.get(0)
而x.toArray()
相当于x.get()
.AdvantagetoArray()
has是它有意义的名称。它的优点是避免了函数调用。
var firstElem = $(element).get(0);
$jqObj[0];
$jqObj.toArray();
removeJWrapper($('#ohHeyo'));
function removeJWrapper (el) {
console.log(el[0]);
}