Javascript 是否在将模板数据注入dom之前有条件地隐藏/删除模板数据?

Javascript 是否在将模板数据注入dom之前有条件地隐藏/删除模板数据?,javascript,Javascript,基本上目前我有两个按钮,它们都使用相同的模板来获取JSON数据,然后在同一个div中显示模板化的内容,清除HTML并根据需要插入。我的问题是,1个按钮要求我提供职位编号“+i+”,而另一个按钮则不需要,我有没有办法根据使用条件或类似选项选择的按钮在模板中添加或删除该按钮 JS var template = '<a href="http://www.youtube.com/embed/'+data.feed[i].code+'" class="videoEntry videoBg'+i+'"

基本上目前我有两个按钮,它们都使用相同的模板来获取JSON数据,然后在同一个div中显示模板化的内容,清除HTML并根据需要插入。我的问题是,1个按钮要求我提供职位编号
“+i+”
,而另一个按钮则不需要,我有没有办法根据使用条件或类似选项选择的按钮在模板中添加或删除该按钮

JS

var template = '<a href="http://www.youtube.com/embed/'+data.feed[i].code+'" class="videoEntry videoBg'+i+'" target="_blank"><img src="http://img.youtube.com/vi/'+data.feed[i].code+'/0.jpg" alt="'+data.feed[i].title+'" class="videoThumb" /><span class="positionNumber">'+i+'</span><h2>'+data.feed[i].title+'</h2></a>';
var模板=”;

这可能有点过头了,但您是否尝试过jquery tmpl插件

您可以在模板中沿以下行指定if语句:

{{if ${i}}} <span class="positionNumber">'+i+'</span> {{/if}}
{{if${i}}}+i+{{/if}}
如果未设置,则不会显示跨度标记

编辑:或者选中i并在需要时相应地追加模板字符串

var template = '<a href="http://www.youtube.com/embed/'+data.feed[i].code+'" class="videoEntry videoBg'+i+'" target="_blank"><img src="http://img.youtube.com/vi/'+data.feed[i].code+'/0.jpg" alt="'+data.feed[i].title+'" class="videoThumb" />';
        if (typeof i != 'undefined'){
            template += '<span class="positionNumber">'+i+'</span>';
        }
        template += <h2>'+data.feed[i].title+'</h2></a>';
var模板=”;

与另一个答案(编辑模板)的建议相同,但可能更简洁的方法是使用三元运算符:

var template = '<a href="http://www.youtube.com/embed/'+data.feed[i].code+'" class="videoEntry videoBg'+i+'" target="_blank"><img src="http://img.youtube.com/vi/'+data.feed[i].code+'/0.jpg" alt="'+data.feed[i].title+'" class="videoThumb" />' + (typeof i == undefined ? '<span class="positionNumber">'+i+'</span>' : '') + '<h2>'+data.feed[i].title+'</h2></a>';
var模板=”;

您可以编辑模板吗?或者当它被访问时,你知道你的代码中按下了哪个按钮吗?嘿,是的,我知道按下了什么按钮,我也有权编辑模板。是的,我觉得使用模板插件可能有点过火,因为我真的不需要那么多模板,但谢谢