如何转义Javascript模板字符串的属性?

如何转义Javascript模板字符串的属性?,javascript,jquery,escaping,xss,Javascript,Jquery,Escaping,Xss,这个片段是 function addTabItems(tab, items) { const tabItems = items.map((item) => ` <div class="bvb-cmp-grid__item"> <div class="bvb-comp-grid__item-head"> <img alt="gr

这个片段是

function addTabItems(tab, items) {
        const tabItems = items.map((item) => `
                <div class="bvb-cmp-grid__item">
                    <div class="bvb-comp-grid__item-head">
                        <img alt="grid-item" src="${item['image']}" class="bvb-cmp-grid__item-img">
                        <div class="bvb-cmp-grid__item-title">${item['title']}</div>
                    </div>
                    <div class="bvb-comp-grid__item-blocks">
                        ${item['items'].map((block) => `
                                 <div class="bvb-comp-grid__item-block">
                                    <div class="bvb-comp-grid__item-block-title">${block['title']}</div>
                                    <div class="bvb-comp-grid__item-block-content">${block['content']}</div>
                                </div>
                       `).join('')}
                    </div>
                </div>            
            `).join('');
        const $tabContent = $(`[data-bvb-cmp-grid-tab-content="${tab}"]`);

        $tabContent.append(tabItems);
    }
函数addTabItems(选项卡,项){
const tabItems=items.map((item)=>`
${item['title']}
${item['items'].map((块)=>`
${block['title']}
${block['content']}
`).join(“”)}
`).加入(“”);
const$tabContent=$(`[data bvb cmp grid tab content=“${tab}”]`);
$tabContent.append(tabItems);
}
需要通过正确的方式实现-构建模板


如何转义属性值
src=“${item['image']}”
以防止
XSS
atack?

如何a)不使用字符串构建HTML b)使用内置安全的模板引擎?当然,这两者并不是相互排斥的。@VLAZ,a)毫无疑问,我没有能力在我遇到的情况下使用模板引擎。然后以编程方式生成内容?a) 不依赖模板engine@VLAZ,我的意思是b)。a)可以申请,谢谢你的建议