jQuery .each()返回DOM元素,而不是一个jQuery对象

前端之家收集整理的这篇文章主要介绍了jQuery .each()返回DOM元素,而不是一个jQuery对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可能会误会发生了什么,但从我可以告诉我得到一个DOM元素,而不是一个jQuery对象,当我使用.each()。

以下将不工作,因为这指的是一个DOM元素,而不是一个jQuery对象

$("span[id$='_TotalItemCost']").each(function() {
    var someText = this.text();
});

修改为将此转换为jQuery对象,一切都很好

$("span[id$='_TotalItemCost']").each(function() {
    var someText = $(this).text();
});

有什么东西时髦的选择器?是jQuery .each() documentation错误,它不是一个jQuery对象,而是一个由.each()返回的DOM元素?

解决方法

文档没有错,但你可能会误解jQuery对象是什么。

jQuery对象由$()函数返回。所以$(“span [id $ =’_ TotalItemCost’]”)是一个jQuery对象,其中包含选择的每个span元素。

使用.each()将遍历jQuery对象中包含的元素。这就是为什么这是一个DOM节点而不是一个jQuery对象。

你通过使用$(this)在这个特定的元素上使用jQuery方法做了正确的事情。

猜你在找的jQuery相关文章