Jquery.parent().attr().split(' ').pop() 返回未定义

Jquery .parent().attr().split(' ').pop() returning undefined

我想从“rtsSelected”的父元素中检测第二个 class“rpvItem2”。我在这里阅读了不同的文章,但无法解决这个问题。

The code works fine in my local PC html file. It is also working online but with console error.

In console: TypeError: $(...).parent(...).attr(...) is undefined

我的jQuery:

// window load BEGINS
$(window).load(function () {
    var getRtsSelected = $("ul.tabset ul.rtsUL").find(".rtsSelected");
    var testtabsetparent = $(getRtsSelected).parent('li').attr('class').split(' ').pop();
    if (testtabsetparent != '') {
        $(".tab-content .tab-box #ContentPlaceHolder1_" + testtabsetparent + " iframe").addClass("content-loaded");
    }
});
// window load ENDS

我的HTML:

<ul id="navtabs" class="tabset">
<li>
    <ul class="rtsUL">
        <li class="rtsLI rtsFirst rpvItem1">
            <a href="#" class="rtsLink rtsBefore">Item One</a>
        </li>
        <li class="rtsLI rpvItem2">
            <a href="#" class="rtsLink rtsSelected">Item Two</a>
        </li>
    </ul>
</li>

试试这个,

$(document).ready(function(){
        var cls = $("ul.tabset ul.rtsUL").find(".rtsSelected").parent('li').attr('class').split(' ').pop();
        console.log(cls);
    });

将return

rpvItem2

$(window).load(function () {
    var getRtsSelected = $("ul.tabset ul.rtsUL").find(".rtsSelected");
    var testtabsetparent = $(getRtsSelected).parent('li').attr('class').split(' ').pop();
    if (testtabsetparent != '') {
        $(".tab-content .tab-box #ContentPlaceHolder1_" + testtabsetparent + " iframe").addClass("content-loaded");
    }
});
<ul id="navtabs" class="tabset">
<li>
    <ul class="rtsUL">
        <li class="rtsLI rtsFirst rpvItem1">
            <a href="#" class="rtsLink rtsBefore">Item One</a>
        </li>
        <li class="rtsLI rpvItem2">
            <a href="#" class="rtsLink rtsSelected">Item Two</a>
        </li>
    </ul>
</li>

<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>

我测试了这段代码,它工作正常。可能是您使用的是旧版本的 jquery