使用 javascript 更改文本并保留 src
Change text with javascript and keep src
抱歉,如果这是一个菜鸟问题!
我正在使用一个脚本来翻译我的网页,代码如下:
<script>
var translations= { 'en' :
{'title' : 'Title', 'textimg' : 'English text'},
'fr' :
{'title' : 'Titre', 'textimg' : 'Texte français'}
};
function doTranslate(language) {
for(id in translations[language]) {
document.getElementById(id).innerHTML = translations[language][id];
}
}
</script>
还有这个html:
<a href="javascript:doTranslate('fr')"><img src="img/Fr-Flag.png"></a>
<a href="javascript:doTranslate('en')"><img src="img/UK-Flag.png"></a>
<h2 id="title">Title</h2>
当我使用图片(小图标)时出现问题:文字发生变化,但src
似乎消失了,所以当文字发生变化时,图片不显示:
<img id="textimg" src="img/fav-rond.png">English text</img>
如何解决这个问题?
这应该可以解决您的问题。
document.getElementById(id).setAttribute("id", translations[language][id])
你不应该使用 innerHTML 来解决这个问题。
请参阅有关 img
标签内内容的回答:Div tag within img tag
但一个可能的解决方案是从 img
中删除 id
并在具有该 ID 的文本周围创建一个新元素。例如:
<img src="img/fav-rond.png" />
<span id="textimg">English text</span>
<img>
标签不允许包含任何信息,它是 "Empty element"
如果您在其中添加任何文本,它将成为无效的 HTML 文本。
您可以添加一个 alt
属性:
<img id="textimg" src="img/fav-rond.png" alt="English text"/>
我强烈建议您访问此 link,您会找到用纯 JavaScript 代码翻译 html 页面的最佳方式。
无法向图片标签添加文本,而是直接在图片后面放置一个 span 元素并访问它。
<img src="img/fav-rond.png" /><span id="textimg">English text</span>
抱歉,如果这是一个菜鸟问题!
我正在使用一个脚本来翻译我的网页,代码如下:
<script>
var translations= { 'en' :
{'title' : 'Title', 'textimg' : 'English text'},
'fr' :
{'title' : 'Titre', 'textimg' : 'Texte français'}
};
function doTranslate(language) {
for(id in translations[language]) {
document.getElementById(id).innerHTML = translations[language][id];
}
}
</script>
还有这个html:
<a href="javascript:doTranslate('fr')"><img src="img/Fr-Flag.png"></a>
<a href="javascript:doTranslate('en')"><img src="img/UK-Flag.png"></a>
<h2 id="title">Title</h2>
当我使用图片(小图标)时出现问题:文字发生变化,但src
似乎消失了,所以当文字发生变化时,图片不显示:
<img id="textimg" src="img/fav-rond.png">English text</img>
如何解决这个问题?
这应该可以解决您的问题。
document.getElementById(id).setAttribute("id", translations[language][id])
你不应该使用 innerHTML 来解决这个问题。
请参阅有关 img
标签内内容的回答:Div tag within img tag
但一个可能的解决方案是从 img
中删除 id
并在具有该 ID 的文本周围创建一个新元素。例如:
<img src="img/fav-rond.png" />
<span id="textimg">English text</span>
<img>
标签不允许包含任何信息,它是 "Empty element"
如果您在其中添加任何文本,它将成为无效的 HTML 文本。
您可以添加一个 alt
属性:
<img id="textimg" src="img/fav-rond.png" alt="English text"/>
我强烈建议您访问此 link,您会找到用纯 JavaScript 代码翻译 html 页面的最佳方式。
无法向图片标签添加文本,而是直接在图片后面放置一个 span 元素并访问它。
<img src="img/fav-rond.png" /><span id="textimg">English text</span>