对象#<htmldivelement>作为jQuery对象</htmldivelement>

时间:2013-05-06 09:47:49

标签: javascript jquery

如何将#<HTMLDivElement>作为jQuery对象?

我需要执行以下操作:我有一个包含类内容的div列表。所以我迭代它直到找到附加类的那个:“test”

这是我的代码:

$.each( $(".contents"), function( key, value ) {
    if (value.hasClass("test"))
    {
        alert("got it");
    }
});

我得到例外:Uncaught TypeError: Object #<HTMLDivElement> has no method 'hasClass'

3 个答案:

答案 0 :(得分:9)

each()函数为您提供DOM对象,您必须将其转换为jQuery对象。您可以将value传递给$ jQuery函数,将其转换为jQuery对象。

$.each( $(".contents"), function( key, value ) {
    if ($(value).hasClass("test"))
    {
        alert("got it");
    }
});

您不需要遍历每个并简化它,就像

一样
elements = $(".contents.text")

答案 1 :(得分:2)

为什么不简单地使用:

$(".contents.test"). ...

这里jQuery将选择同时设置"contents""test"类的元素。

DEMO: http://jsfiddle.net/xfErG/

答案 2 :(得分:0)

主jQuery函数可以接受DOM元素作为其参数。

var foo = jQuery(HTMLElementNode);

以下两行代码具有相同的最终结果:

var foo = jQuery('#foo');
var foo = jQuery(document.getElementById('foo'));