2014-02-18 52 views
0

目前我正在使用多種語言的網站上工作,我想在該網站上添加該語言欄。但是我的問題是,它一直在說英文+英文圖標,即使是另一種語言,它應該改爲適當的圖標+語言名稱。根據HTML lang值更改內部HTML

只是我想通過遵循html lang值來更改innerhtml代碼。我只有基本的JavaScript知識。

直播定點http://uposonghar.com/lang.html

我的代碼 -

<nav role="custom-dropdown" id="nav_language" dir="ltr"> 
<input type="checkbox" id="button"> 
<label for="button" id="labelLang" onclick></label> 
<ul> 
    <li><a hreflang="en" href="http://chitrchatr.com/en/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/en_US.png" title="English" alt="English" />&nbsp;English</a></li> 
    <li><a hreflang="de" href="http://chitrchatr.com/de/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/de_DE.png" title="Deutsch" alt="Deutsch" />&nbsp;Deutsch</a></li> 
    <li><a hreflang="ru" href="http://chitrchatr.com/ru/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/ru_RU.png" title="Русский" alt="Русский" />&nbsp;Русский</a></li> 
    <li><a hreflang="es" href="http://chitrchatr.com/es/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/es_ES.png" title="Español" alt="Español" />&nbsp;Español</a></li> 
    <li><a hreflang="zh" href="http://chitrchatr.com/zh/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/zh_CN.png" title="中文 (中國)" alt="中文 (中國)" />&nbsp;中文 (中國)</a></li> 
    <li><a hreflang="ar" href="http://chitrchatr.com/ar/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/ar.png" title="العربية" alt="العربية" />&nbsp;العربية</a></li> 
    <li><a hreflang="fr" href="http://chitrchatr.com/fr/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/fr_FR.png" title="Français" alt="Français" />&nbsp;Français</a></li> 
    <li><a hreflang="it" href="http://chitrchatr.com/it/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/it_IT.png" title="Italiano" alt="Italiano" />&nbsp;Italiano</a></li> 
    <li><a hreflang="in" href="http://chitrchatr.com/in/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/id_ID.png" title="Bahasa Indonesia" alt="Bahasa Indonesia" />&nbsp;Bahasa Indonesia</a></li> 
    <li><a hreflang="ko" href="http://chitrchatr.com/ko/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/ko_KR.png" title="한국어" alt="한국어" />&nbsp;한국어</a></li> 
    <li><a hreflang="th" href="http://chitrchatr.com/th/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/th.png" title="ไทย" alt="ไทย" />&nbsp;ไทย</a></li> 
    <li><a hreflang="tl" href="http://chitrchatr.com/tl/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/tl.png" title="Tagalog" alt="Tagalog" />&nbsp;Tagalog</a></li> 
    <li><a hreflang="hi" href="http://chitrchatr.com/hi/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/hi_IN.png" title="हिन्दी" alt="हिन्दी" />&nbsp;हिन्दी</a></li> 
    <li><a hreflang="ja" href="http://chitrchatr.com/ja/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/ja.png" title="日本語" alt="日本語" />&nbsp;日本語</a></li> 
    <li><a hreflang="sv" href="http://chitrchatr.com/sv/"><img src="http://chitrchatr.com/wp-content/plugins/polylang/flags/sv_SE.png" title="Svenska" alt="Svenska" />&nbsp;Svenska</a></li> 
</ul> 
</nav> 

Javascript成爲

<script> 
if(document.getElementsByTagName('html').getAttribute('lang') = "en-US"){ 
    document.getElementById('labelLang').innerHTML = '<img alt="English" title="English" src="http://chitrchatr.com/wp-content/plugins/polylang/flags/en-US.png">&nbsp;English'; 
} 
if(document.getElementsByTagName('html').getAttribute('lang') = "de-DE"){ 
    document.getElementById('labelLang').innerHTML = '<img alt="Deutsch" title="Deutsch" src="http://chitrchatr.com/wp-content/plugins/polylang/flags/de_DE.png">&nbsp;Deutsch'; 
} 
if(document.getElementsByTagName('html').getAttribute('lang') = "ru-RU"){ 
    document.getElementById('labelLang').innerHTML = '<img alt="Русский" title="Русский" src="http://chitrchatr.com/wp-content/plugins/polylang/flags/ru_RU.png">&nbsp;Русский'; 
} 
else{} 
</script> 

回答

2

document.getElementsByTagName返回匹配標籤,即使僅存在一個匹配元件的陣列。

你需要做的是document.getElementsByTagName('html')[0]度日的功能,這應該是你的HTML標籤返回的第一個標籤。

此外,如果你想比較,=====是你在找什麼。 =只是設置一個值。

2

你是不是在你的innerHTML關閉標記爲<img>

此外,

document.getElementsByTagName('html').getAttribute('lang')="en-US" 是一個賦值不相等性檢查。改爲使用==

正如@Akamaozu指出的那樣document.getElementsByTagName() 返回HTMLCollection