Jquery .parent()。attr()。split('')。pop()返回undefined

时间:2016-07-20 11:23:40

标签: javascript jquery variables split parent-child

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

  

该代码在我的本地PC html文件中正常工作。它也有效   在线但有控制台错误。

     

在控制台中:    TypeError:$(...)。parent(...)。attr(...)未定义

我的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>

2 个答案:

答案 0 :(得分:0)

试试这个,

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

将返回

<强> rpvItem2

答案 1 :(得分:0)

&#13;
&#13;
$(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");
    }
});
&#13;
<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>
&#13;
&#13;
&#13;

我测试了这段代码,这是有效的。可能是您使用旧版jquery