我试图从我的 HTML 中的某个元素中获取一些数据,但是当我要求 jQuery 将抓取的数据放入段落标签时,jQuery“NaN”。
这是我的完整代码:
$(".next-panel").click(function(event) {
var accordion = $(".nav-accordion")
var index = accordion.accordion('option','active')
var next = index + 1;
var panel = $(this).parents('.accordion-panel').next();
var sectionTitle = $(this).parents('.accordion-panel').parents('li').next('li').children('a').attr('data-title');
var sectionDesc = $(this).parents('.accordion-panel').parents('li').next('li').children('a').attr('data-desc');
var sectionPercent = $(this).parents('.accordion-panel').parents('li').next('li').children('a').attr('data-percent');
$('body').animate({
scrollTop: $('#accordion-wrap').offset().top
},
800
);
accordion.accordion('activate', next);
panel.removeClass("ui-state-disabled").bind("click");
$('#progress-box h6').text(sectionTitle);
$('#progress-box p').text(sectionDesc);
$('#percent-bar-inner p').text(sectionPercent);
$('#percent-bar-inner').animate({
width: sectionPercent,
}, 300);
console.log(sectionPercent)
event.preventDefault();
return false;
});
当我使用这个时:
var sectionPercent = $(this).parents('.accordion-panel').parents('li').next('li').children('a').attr('data-percent');
然后告诉它输出 Var 到:
$('#percent-bar-inner p').text(sectionPercent);
它给了我:
NaN
但是当我记录变量时,它给了我:
50
哪个是正确的值。
为什么会发生这种情况,NaN 是什么意思?!
更新
JS 小提琴示例:
这是一个 JS fiddle,显示它按预期工作:
删除了我的代码的这些位:
var accordion = $(".nav-accordion")
var index = accordion.accordion('option','active')
var next = index + 1;
var panel = $(this).parents('.accordion-panel').next();
并且
accordion.accordion('activate', next);
panel.removeClass("ui-state-disabled").bind("click");