parent().parent().parent() - 更好的方法?

Chr*_*ris 0 jquery

我经常使用这样的代码:

$(document).on("click", ".cChatSmileyWindow", $.proxy(function(e) {
    var windowID = $(e.currentTarget).parent().parent().parent().data("windowid");
}, this));
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点?HTML看起来像这样:

<span class="dropdownMenu dropdownArrowRight dropdownArrowBottom dropdownOpen" id="cChatSmileyBox1" data-windowid="1">
    <ul class="cChatSmileyList">
        <li>
            <span class="cChatSmileyListSmiley cChatSmileyWindow">
                <!-- ... -->
            </span>
        </li>
    </ul>
</span>
Run Code Online (Sandbox Code Playgroud)

我试过了,$(e.currentTarget).parent('dropdownMenu').data("windowid");但它不起作用.

Dav*_*man 8

试试最近():

var windowID = $(e.currentTarget).closest(".dropdownMenu").data("windowid");
Run Code Online (Sandbox Code Playgroud)

  • 我甚至都不知道这存在.凉! (2认同)