【发布时间】:2014-07-17 03:14:59
【问题描述】:
这是我的代码:
var altArr = [];
i = 0;
$('ul.ctopics.topics img').each(function () {
altArr[i++] = $(this).attr('alt')
});
var linkArr = [];
c = 0;
$('ul.ctopics.topics .activityinstance a').each(function () {
linkArr[c++] = $(this).attr('href')
});
a = 0;
var scormId = [];
$('ul.ctopics.topics li.modtype_scorm').each(function () {
scormId[a++] = $(this).attr('id')
});
b = 0;
var idArr = [];
$('.course-matrix .course-matrix-table tr').addClass('locked');
$('.course-matrix .course-matrix-table tr').each(function () {
idArr[b++] = $(this).attr('id');
idTr = $(this).attr('id');
var matchArr = $.inArray(idTr, scormId);
var selLink = linkArr[matchArr];
var selAlt = altArr[matchArr];
$(this).find('td.course-title').wrapInner('<a href="' + selLink + '" class="scorm-link"></a>');
$(this).find('a.scorm-link').attr('title', selAlt);
var alt = $(this).find('a.scorm-link').attr('title');
var indexResult = alt.search("Not");
if (indexResult >= 0) {
$(this).removeClass('locked');
$(this).addClass('not-yet-complete');
$(this).addClass('unlocked');
} else {
$(this).addClass('completed');
$(this).addClass('unlocked');
$(this).removeClass('locked');
}
});
我找不到从 Firebug 收到此错误的原因。这打破了我成功的 JS 代码:
TypeError: alt is undefined
var indexResult = alt.search("Not");
剧透,以摆脱“看起来您的帖子主要是代码;请添加更多详细信息。”
【问题讨论】:
-
你能添加你的 HTML 吗?还是做一个 JSFiddle?
-
为什么你的选择器是这样写的?它们应该是几个选择器还是一个?
-
这里是 JS fiddel,我已经简化了 Html 和代码......希望有人能帮助检查为什么 var selAlt 被视为未定义 jsfiddle.net/A5rdV
标签: jquery arrays firebug undefined