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
我想从“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