Javascript 查找祖先是否有特定的CSS类

Javascript 查找祖先是否有特定的CSS类,javascript,jquery,Javascript,Jquery,我想知道是否有更简单的方法来检查一个元素是否有一个具有特定类的祖先 考虑以下HTML代码: <ul id="uniqueID" class="parentClass"> <li class="subclassA"> <div class="subclassB"> <nobr> <a href="#" class="subclassC1" data="MyText"

我想知道是否有更简单的方法来检查一个元素是否有一个具有特定类的祖先

考虑以下HTML代码:

<ul id="uniqueID" class="parentClass">
    <li class="subclassA">
        <div class="subclassB">
            <nobr>
                <a href="#" class="subclassC1" data="MyText"></a>
                <a href="index.php/things" class="subclassC2" style="">MyText</a>
            </nobr>
        </div>
    </li>
    <li class="subclassA"> ... </li>
    <li class="subclassA"> ... </li>
    <li class="subclassA"> ... </li>
</ul>
<div>other elements in this page which I want to select</div>

您可以使用
最近的

$('[href*="index.php"]').each(function(){
    if ($(this).closest('ul').is('.parentClass')) {
        //do things''
    }
});

您可以使用
最近的

$('[href*="index.php"]').each(function(){
    if ($(this).closest('ul').is('.parentClass')) {
        //do things''
    }
});

概括起来,你可以使用

最近(“.parentClass”)


概括起来,你可以使用

最近(“.parentClass”)


有一个实际的方法
.hasglass('parentClass')
(请注意,使用
hasglass
,您不需要句点(.)@ahren:我知道,只是更喜欢
.is
。有很多方法可以解决这个问题。谢谢。假设父元素是一个
,这是我到目前为止所观察到的,那么它就可以完美地工作。然而,在不太可能发生变化的情况下,是否可以轻松地将此代码推广到所有元素?您可以使用
.parents().eq(3)
来获取第四个父元素。有一个实际的方法
.hasglass('parentClass')
(请注意,使用
hasglass
,您不需要句点(.)@ahren:我知道,只是更喜欢
.is
。有很多方法可以解决这个问题。谢谢。假设父元素是一个
,这是我到目前为止所观察到的,那么它就可以完美地工作。但是,在不太可能发生变化的情况下,是否可以轻松地将此代码推广到所有元素?您可以使用
.parents().eq(3)
获取第四个父元素。
if($(this).parents("ul.parentClass").length == 0){
   //do something
}