2017-05-31 28 views
1

以下JavaScript工程,但我想用字体真棒图标替换单词“YOUTUBE”。变量“类型”要么是YouTube或VIMEO或的SoundCloud,所以我试图将一个JS的if/then语句在意大利面条的中间...用if/then Javascript输出HTML?

这是代码:

playlistHtml += "<li>"+val.sources[0].type+" Song Name Here</li>" 

这是输出:

YOUTUBE歌曲名称这里

playlistHtml += "<li><div id='logo'></div>"+ 
    if (val.sources[0].type == "YOUTUBE") 
    { 
     document.getElementById('logo').innerHTML = "<i class='fa fa-youtube-play' aria-hidden='true'></i> Song Name Here</li>";}); 

任何帮助表示赞赏...

+0

那么,什么是你期望的输出? – Siva

+1

您的问题标题与您的问题/代码不符。 PHP在哪里? –

回答

2

创建一个返回font awesome类的函数。 然后像这样打电话。

document.getElementById('logo').innerHTML = "<i class='fa "+getIcon(val.sources[0].type)+"' aria-hidden='true'></i> Song Name Here</li>"; 

功能:

function getIcon(source){ 
    switch(source.toUpperCase()){ 
     case "YOUTUBE" : return "fa-youtube-play" 
     case "VIMEO" : return "fa-vimeo" 
     case "SOUNDCLOUD" : return "fa-soundcloud" 
     default : return "fa-music" 
    } 
} 
+0

如果您返回,则不需要“中断”。 –

+0

是啊!我有点习惯于用开关来使用它。 :P无论如何编辑! –

2

这是未经测试的,我刚刚重组了你的代码。

playlistHtml += "<li><div id='logo'>"; 
if (val.sources[0].type == "YOUTUBE") { 
    playlistHtml += "<i class='fa fa-youtube-play' aria-hidden='true'></i>" 
} 
if (val.sources[0].type == "VIMEO") { 
    playlistHtml += "<i class='fa fa-vimeo-play' aria-hidden='true'></i>" 
} 
if (val.sources[0].type == "SOUNDCLOUD") { 
    playlistHtml += "<i class='fa fa-soundcloud-play' aria-hidden='true'></i>" 
} 
playlistHtml += "</div>Song Name Here</li>";