我正在尝试从我的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小提琴,显示它按预期工作:
删除了我的代码中的这些位:
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");