我想根据国家/地区的名称在<td>
中显示国家/地区的标志。
我有50个国家,并希望根据<td>
中的国家名称来填充标志。
我可以在这样的页面中放置一个简单的图像:
<img src="https://lipis.github.io/flag-icon-css/flags/4x3/gb.svg" style="height:100">
下面的Javascript代码完成了我需要做的事情://更改国家/地区的代码
var stringCountryCode = getCountryCode(cName);
var str = "https://lipis.github.io/flag-icon-css/flags/4x3/gb.svg";
var res = str.replace(/gb/g, stringCountryCode );
document.getElementById("demo").innerHTML = res;
唯一的问题是如何根据国家/地区名称获取此代码。
function getCountryCode(countryName) {
}
[首先,向@ mrkn0007和@Barmar大喊一些片段。
我将通过输出URL来实际处理它:
function getCountryCode(countryName) {
var str = "https://lipis.github.io/flag-icon-css/flags/4x3/gb.svg";
countrycodedict = {'United State': 'us' ...} //fill in
var res = str.replace(/gb/g, countrycodedict[countryName] ); //Probably can one line it.
return res
}
document.getElementById("demo").src = getCountryCode(cName);
在这种情况下,您可以简单地制作一个函数,然后将src设置为该函数的输出,而不是尝试通过一些变通方法来设置它。
您需要自己维护地图。 Lipis标志图标使用ISO 3166-1-alpha-2标准来命名国家标志图标名称。已有here的JSON映射提供此信息。您可以使用它来构建地图并相应地使用它。
使用从https://gist.github.com/Goles/3196253获得的代码,您可以执行此操作以生成src属性: