我不知道为什么我的代码不起作用。
$("#example").find('LI A').hasClass("sth").each(function(){alert($(this))});
Firebug说:
$(“#example”)。find('LI A')。hasClass(“sth”)。每个都不是函数
此代码中的问题是each
,因为如果我将其删除,则不会给我任何错误。
我需要将“a”元素的创建值传递给数组。
答案 0 :(得分:4)
hasClass
函数返回boolean而不是jQuery对象。因此它没有each
函数。
你可能意味着这个:
$("#example").find('LI A.sth').each(function(){alert($(this))});
或者这(更好):
$("#example li a.sth").each(function(){alert($(this))});
阅读docs:
.hasClass(className)返回:Boolean
说明:确定是否为任何匹配的元素分配了给定的类
答案 1 :(得分:2)
您的hasClass应用程序不正确。它不返回jQuery对象,而是返回布尔值,因此.each()
无法应用于它。
您必须将该类附加到选择器
$("#find").click(function (){
$("#example").find('a.sth').each(function(){
$("#test").append($(this));
});
});