每隔一段时间我会看到<li>undefined</li>
,如何使它不遍历未定义的<li>
?
function relatedCoursesMesh() {
if ($('#relatedCourses').length != 0) {
var courseNumber = $.parseHTML($('#relatedCourses #RelatedCourseNumber').html()),
courseName = $.parseHTML($('#relatedCourses #RelatedCourseName').html()),
parsedCourseNumber = courseNumber[0].data.split("+"),
parsedCourseName = courseName[0].data.split("+");
htmlOutput = "<ul>";
$(parsedCourseNumber).each(function (index, val) {
htmlOutput += '<li><a data-course="' + val + '" data-title="' + parsedCourseName[index] + '" href="/Pages/Class.aspx?course=' + val + '&courseTitle=' + parsedCourseName[index] + '" title="Related Course">' + parsedCourseName[index] + '</a></li>';
})
htmlOutput += "</ul>";
$('#relatedCourses').html(htmlOutput);
}
}
答案 0 :(得分:2)
您可以像这样放置if
语句:
$(parsedCourseNumber).each(function (index, val) {
if(parsedCourseName[index]) { // also ignores "" (blank) and null values
htmlOutput += '<li><a data-course="' + val + '" data-title="' + parsedCourseName[index] + '" href="/Pages/Class.aspx?course=' + val + '&courseTitle=' + parsedCourseName[index] + '" title="Related Course">' + parsedCourseName[index] + '</a></li>';
}
})
答案 1 :(得分:0)
您可以控制val
变量的值是否返回未定义,因此:
function relatedCoursesMesh() {
if ($('#relatedCourses').length != 0) {
var courseNumber = $.parseHTML($('#relatedCourses #RelatedCourseNumber').html()),
courseName = $.parseHTML($('#relatedCourses #RelatedCourseName').html()),
parsedCourseNumber = courseNumber[0].data.split("+"),
parsedCourseName = courseName[0].data.split("+");
htmlOutput = "<ul>";
$(parsedCourseNumber).each(function (index, val) {
if(val !== undefined && parsedCourseName[index] !== undefined) {
htmlOutput += '<li><a data-course="' + val + '" data-title="' + parsedCourseName[index] + '" href="/Pages/Class.aspx?course=' + val + '&courseTitle=' + parsedCourseName[index] + '" title="Related Course">' + parsedCourseName[index] + '</a></li>';
}
});
htmlOutput += "</ul>";
return $('#relatedCourses').html(htmlOutput);
}
}
作为函数,最好返回执行的操作的值:
return $('#relatedCourses').html(htmlOutput);
。
但是最好的方法肯定是查看为什么数据最初是有缺陷的。