4

我怎样才能得到#<HTMLDivElement>一个 jQuery 对象?

我需要做以下事情:我有一个包含类内容的 div 列表。所以我遍历它,直到找到带有附加类的那个:“test”

这是我的代码:

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

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

4

3 回答 3

10

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

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

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

elements = $(".contents.text")
于 2013-05-06T09:48:39.280 回答
2

为什么不使用以下方法更简单:

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

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

演示:http: //jsfiddle.net/xfErG/

于 2013-05-06T09:51:37.640 回答
0

主 jQuery 函数可以接受一个 DOM 元素作为它的参数。

var foo = jQuery(HTMLElementNode);

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

var foo = jQuery('#foo');
var foo = jQuery(document.getElementById('foo'));
于 2013-05-06T09:49:39.340 回答