对象#作为jQuery对象
问题描述:
如何获得作为jQuery对象的#<HTMLDivElement>
?对象#<HTMLDivElement>作为jQuery对象
我需要做以下几点:我有一个div的列表与类的内容。所以我遍历它,直到我找到了一个与附加类:“测试”
这里是我的代码:
$.each($(".contents"), function(key, value) {
if (value.hasClass("test"))
{
alert("got it");
}
});
,我发现了异常:Uncaught TypeError: Object #<HTMLDivElement> has no method 'hasClass'
答
的each()
功能给你DOM
对象,你必须将它转换为jQuery
对象。您可以通过value
到$
jQuery函数将其转换为jQuery对象。
$.each($(".contents"), function(key, value) {
if ($(value).hasClass("test"))
{
alert("got it");
}
});
你并不需要通过每个迭代和简化它像
elements = $(".contents.text")
答
主要jQuery的函数可以接受一个DOM元素作为它的参数。
var foo = jQuery(HTMLElementNode);
下面的代码两行具有相同的最终结果:
var foo = jQuery('#foo');
var foo = jQuery(document.getElementById('foo'));
答
为什么不这样做简单的搭配:
$(".contents.test"). ...
这里jQuery将选择具有两个"contents"
元素和"test"
类别设置。
只要它传递给[jQuery的构造](http://api.jquery.com/jQuery/#jQuery-element)。 – Bergi 2013-05-06 09:50:53
你为什么不使用像'$(“。contents.test”)这样的选择器?each(alert.bind(window,“got it”))'?或'$(“。contents”)。filter(“。test”)'? – Bergi 2013-05-06 09:51:20