Javascript jQuery-each、find和append

Javascript jQuery-each、find和append,javascript,jquery,html,events,dynamic,Javascript,Jquery,Html,Events,Dynamic,目前,我有一个函数,它遍历多个div,找到一个类名为“.courseArea”的div,并返回它以附加另一个div function getCourseAreaBySemester(sem_id) { $(".semesterPanel").each(function() { if($(this).attr('id') == sem_id) { return $(this).find('.courseArea')); } }

目前,我有一个函数,它遍历多个div,找到一个类名为“.courseArea”的div,并返回它以附加另一个div

function getCourseAreaBySemester(sem_id) {
    $(".semesterPanel").each(function() {
        if($(this).attr('id') == sem_id) {
            return $(this).find('.courseArea'));
        }
    });
}
处理返回的第二个函数

var targetSemester = getCourseAreaBySemester(semesterData[i]['semester_id']);
            console.log(targetSemester);
            targetSemester.append(createCourse(semesterData['courses'][j]));
控制台打印出“undefined”,因此,我无法执行.append()

但是如果我在返回之前输入console.log,它将返回
[
​]

我知道如果我不使用.each()函数,它会工作。但是,我需要按ID进行选择

有人知道这里出了什么问题吗?或者有其他选择吗?谢谢

function getCourseAreaBySemester(sem_id) {
    var result;
    $(".semesterPanel").each(function() {
        if($(this).attr('id') == sem_id) {
            result = $(this).find('.courseArea'));
        }
    });

    return result;
}
返回内部函数的值显然不会影响GetCourseAreablySemeter函数的返回值


返回内部函数的值显然不会影响GetCourseAreablySemeter函数的返回值!

您没有从
GetCourseAreablySemeter
返回任何内容。
每个
中的
返回
将关闭,并且仅在
每个
回调中返回

您可以简化并仅使用ID作为选择器,因为页面中的ID是唯一的:

function getCourseAreaBySemester(sem_id) {   
    return $('#'+sem_id).find('.courseArea');
}

您没有从
GetCourseAreablySeMester
返回任何内容。
每个
中的
返回
将关闭,并且仅在
每个
回调中返回

您可以简化并仅使用ID作为选择器,因为页面中的ID是唯一的:

function getCourseAreaBySemester(sem_id) {   
    return $('#'+sem_id).find('.courseArea');
}

你能添加你的htmlAnd吗?
函数
关键字在第一个代码块中做了什么?这两个“函数”都不是实际的
函数
。第一个函数的语法太离谱了,第二个只是对函数的一系列调用。对不起,粘贴错误。修复了。它返回的是第一个函数,不是第二个函数?你能e能够添加您的htmlAnd在第一个代码块中,
函数
关键字在做什么?这两个“函数”都不是实际的
函数
。第一个函数的语法太离谱了,第二个只是一系列函数调用。抱歉,粘贴不正确。修复了。返回的是第一个函数,而不是第二个函数?哦,是这样的谢谢你,哦,成功了,谢谢。