如何将#<HTMLDivElement>
作为jQuery对象?
我需要执行以下操作:我有一个包含类内容的div列表。所以我迭代它直到找到附加类的那个:“test”
这是我的代码:
$.each( $(".contents"), function( key, value ) {
if (value.hasClass("test"))
{
alert("got it");
}
});
我得到例外:Uncaught TypeError: Object #<HTMLDivElement> has no method 'hasClass'
答案 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"
类的元素。
答案 2 :(得分:0)
主jQuery函数可以接受DOM元素作为其参数。
var foo = jQuery(HTMLElementNode);
以下两行代码具有相同的最终结果:
var foo = jQuery('#foo');
var foo = jQuery(document.getElementById('foo'));