转义javascript模板文本

转义javascript模板文本,javascript,Javascript,我想关闭forEach循环标记并继续执行代码,但由于未命中转义标记,我在封闭代码时遇到问题 上面的图片说明了我的问题 代码 const studentsAttendance = [ { week: 1, attendance: [ { day: 1, date: '12-11-2018', status: 'present' }, { day: 2, date: '13-11-2018', status:

我想关闭
forEach
循环标记并继续执行代码,但由于未命中转义标记,我在封闭代码时遇到问题

上面的图片说明了我的问题

代码

const studentsAttendance = [
    {
        week: 1,
        attendance: [
            { day: 1, date: '12-11-2018', status: 'present' },
            { day: 2, date: '13-11-2018', status: 'absent' },
            { day: 3, date: '14-11-2018', status: 'present' },
            { day: 4, date: '15-11-2018', status: 'present' },
            { day: 5, date: '16-11-2018', status: 'present' },
        ]
    },
    {
        week: 2,
        attendance: [
            { day: 1, date: '19-11-2018', status: 'present' },
            { day: 2, date: '20-11-2018', status: 'present' },
            { day: 3, date: '21-11-2018', status: 'present' },
            { day: 4, date: '22-11-2018', status: 'vacation' },
            { day: 5, date: '23-11-2018', status: 'vacation' },
        ]
    },
    {
        week: 3,
        attendance: [
            { day: 1, date: '26-11-2018', status: 'present' },
            { day: 2, date: '27-11-2018', status: 'present' },
            { day: 3, date: '28-11-2018', status: 'present' },
            { day: 4, date: '29-11-2018', status: 'present' },
            { day: 5, date: '30-11-2018', status: 'present' },
        ]
    },
    {
        week: 4,
        attendance: [
            { day: 1, date: '03-12-2018', status: 'present' },
            { day: 2, date: '04-12-2018', status: 'present' },
            { day: 3, date: '05-12-2018', status: 'present' },
            { day: 4, date: '30-12-2018', status: 'present' },
        ]
    }
];

let allAttendance = '';

function renderAttendance() {
    studentsAttendance.forEach(result => {
        let attendanceResults = `<tr>
                                    <th scope='row'>${result.week}</th>
                                        ${result.attendance.forEach(attendance => {
                                            let currentDate = moment(attendance.date, 'D MM, YYYY');
                                                 return `<td  data-toggle='tooltip' data-placement='top' title='${convertDate(attendance.day == currentDate ? attendance.date : '')}' class=${selectColor(attendance.day === currentDate ? attendance.status : '')}><a style='cursor: default' class='text-light'><b>${selectLetter(attendance.day === currenDate ? attendance.status : '')}</b></a></td>`
                                        )

                                        </tr>`

        console.log(result)

        if (result === 'undefined') {
            return;
        }
        else {
            allAttendance += attendanceResults
            document.getElementById('attendance').innerHTML = allAttendance;
        }
    })
}

function selectColor(status) {
    if (!status) return '';
    if (status === 'present') return 'bg-success';
    if (status === 'absent') return 'bg-danger';
    if (status === 'vacation') return 'bg-warning'
}

function selectLetter(status) {
    if (status === '') return '';
    if (status === 'present') return 'P';
    if (status === 'absent') return 'A';
    if (status === 'vacation') return 'V'
}

function convertDate(date) {
    if (!date) {
        return '';
    }
    else {
        return moment(date, 'D MM, YYYY').format('D MMMM, YYYY');
    }
}

renderAttendance(); 
const studentsatendance=[
{
周:1,
出席人数:[
{日期:1,日期:2018年11月12日,状态:现在},
{日期:2,日期:2018年11月13日,状态:缺席},
{日期:3,日期:'14-11-2018',状态:'现在'},
{日期:4,日期:'15-11-2018',状态:'现在'},
{日期:5日,日期:2018年11月16日,状态:现在},
]
},
{
周:2,
出席人数:[
{日期:1,日期:2018年11月19日,状态:现在},
{日期:2,日期:2018年11月20日,状态:现在},
{日期:3,日期:2018年11月21日,状态:现在},
{日期:4,日期:2018年11月22日,状态:休假},
{日期:5,日期:2018年11月23日,状态:休假},
]
},
{
周:3,
出席人数:[
{日期:1,日期:2018年11月26日,状态:现在},
{日期:2,日期:2018年11月27日,状态:现在},
{日期:3,日期:2018年11月28日,状态:现在},
{日期:4,日期:2018年11月29日,状态:现在},
{日期:5,日期:'30-11-2018',状态:'现在'},
]
},
{
周:4,
出席人数:[
{日期:1,日期:'03-12-2018',状态:'现在'},
{日期:2,日期:'04-12-2018',状态:'现在'},
{日期:3,日期:'05-12-2018',状态:'现在'},
{日期:4,日期:'30-12-2018',状态:'现在'},
]
}
];
让所有注意力='';
函数renderAttendance(){
studentsAttendance.forEach(结果=>{
让参与者的结果=`
${result.week}
${result.attention.forEach(出勤率=>{
让currentDate=时刻(attention.date,'D MM,YYYY');
返回`${selectLetter(Attention.day==currenDate?Attention.status:'')`
)
`
console.log(结果)
如果(结果==‘未定义’){
回来
}
否则{
AllAttendence+=出席人数结果
document.getElementById('Attention').innerHTML=AllAttentince;
}
})
}
功能选择颜色(状态){
如果(!status)返回“”;
如果(状态=='present')返回'bg success';
如果(状态===‘缺席’)返回‘bg危险’;
如果(状态=='休假')返回'bg警告'
}
函数selectLetter(状态){
如果(状态=='')返回“”;
如果(状态=='present')返回'P';
如果(状态===“缺席”)返回“A”;
如果(状态=='休假')返回'V'
}
函数转换日期(日期){
如果(!日期){
返回“”;
}
否则{
返回时刻(日期为'D MM,YYYY')。格式为'D MM,YYYY');
}
}
renderatendance();
之后有一个额外的tic(`),因此关闭字符串。这将
留在字符串之外,并给您带来错误


请发布代码而不是图像。添加代码而不是图像解释了为什么代码图像没有多大帮助。发布图像是为了让您知道逃生需要放在哪里。我也在发布代码。我不太明白您的意思。您能详细说明一下吗。代码中的具体位置。我已经用您代码中的图像更新了我的答案。您应该已经将代码添加到问题中。当我添加代码时,其余的代码将无法访问。其中的字符串执行指定
属性的函数,因此它不能作为普通字符串呈现。