jQuery:如果所选元素 $(this) 的父元素的类名为 'last'



我一定错过了一些相当重要的东西,我一直在使用。parent().parent().parent() .parent().…. etc向下遍历DOM, .next().next()向上遍历DOM

我知道这是错误的,我需要一些更可靠的东西,我需要一个选择器,将从点击元素$(this)遍历DOM,看看被点击的元素是否在一个类为"last"的元素内。

div.last > div > table > tr > td > a[THE ITEM CLICKED is in the element last]

div > div > table > tr > td > a[THE ITEM CLICKED is not in the element last]

则如果结果长度为

var isWithinLastRow = [amazingSelector].length;

试试这个:-http://jsfiddle.net/adiioo7/PjSV7/

HTML

: -

<div class="last">
    <div>
        <table>
            <tr>
                <td>
                    <a>Test</a>
                </td>
            </tr>
        </table>
    </div>
</div>
<div>
    <div>
        <table>
            <tr>
                <td>
                    <a>Test</a>
                </td>
            </tr>
        </table>
    </div>
</div>

JS: -

jQuery(function($){
    $("a").on("click",function(){
       if($(this).closest(".last").length>0)
       {
           alert("Clicked anchor with div parent class as last");
       }
    });
});

你的问题有点难以理解。您想要检查所单击的元素是否具有类为last的祖先元素,是吗?

如果是,您可以使用$.fn.parents:

if ($(this).parents('.last').length) {
    // element has an ancestor element with the class "last"
}

你可以这样做-

if($(this).closest(".last").length > 0) {
   alert("it's inside");
}

你可以使用。close ()

var isWithLastRow = $(this).closest('div.last').length

最新更新