Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何获取hasClass()的父级?_Jquery - Fatal编程技术网

Jquery 如何获取hasClass()的父级?

Jquery 如何获取hasClass()的父级?,jquery,Jquery,我只需要获取我用hasClass()找到的类的父类,但它不起作用 if($('.test div').hasClass('has-error')){ console.log($(this.parent().className) } 代码的问题是此将引用窗口,因为您不在元素的范围内 hasClass在这里也有点多余,因为您可以直接选择具有给定类的元素,然后执行逻辑 最后,请注意,className不是jQuery对象的有效属性。大概attr('class')就是您所需要的。试试这个: var

我只需要获取我用
hasClass()
找到的类的父类,但它不起作用

if($('.test div').hasClass('has-error')){
console.log($(this.parent().className)
}

代码的问题是
将引用
窗口,因为您不在元素的范围内

hasClass
在这里也有点多余,因为您可以直接选择具有给定类的元素,然后执行逻辑

最后,请注意,
className
不是jQuery对象的有效属性。大概
attr('class')
就是您所需要的。试试这个:

var className=$('.test div.has-error').parent().attr('class');
console.log(className)

$(“.test div”)。每个(函数(){
if($(this).hasClass('has-error')){
console.log($(this.hasClass('has-error'))
console.log($(this.parent().attr(“类”))
}
})

您可以使用
过滤器
返回带有
has class的元素,然后获取其父元素的class

var c=$('.test div').filter(函数(){
返回$(this.hasClass('has-error'))
}).parent().attr('class')
控制台日志(c)


为什么不
$('.test div.has-error')
?也许出于某种原因,op想用
hasClass
这样做,那么hasClass就没有用了,因为所有这些div都有这个类,也许他有一些理由需要使用hasClass谢谢你的回答和解释,这让一切都清楚了。