如何在不知道javascript中的标签ID的情况下通过javascript函数设置标签文本? [英] How can i set a label text by a javascript function without knowing the label ID in javascript
本文介绍了如何在不知道javascript中的标签ID的情况下通过javascript函数设置标签文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要用各种语言翻译设置HTML标签的文字。我知道如何做到这一点,当我知道标签的ID,但我想做一个通用的JavaScript函数,不需要id。按照这个顺序,我需要这样一些东西:
HTML:
<标签> <脚本> translating_function( 你好); < /脚本> < /标签>
JAVASCRIPT:
function translating_function(string){
//找到译文(例如translated_text)
返回翻译文本
}
translating_function函数的返回值应该被设置为标签的文本。
有没有人知道如何去做。
非常感谢。
解决方案
< p>< span class ='translatable> hello< / span> < span class ='translatable'>和< / span> < span class ='translatable'>欢迎< / span> < span class ='translatable> to English< / span> :)< / p>< select onchange ='translateTo(this.value)'>< option value ='EN'> English< / option>< option value ='AR'>选项><选项值='ES'> Espain< / option>< / select>
$ b
I need to set the text of a HTML label with various language translations. I know how to do it when i know the ID of the label, but i want to make a general Javascript function which does not require the id. In this order, I need some thing like this:
HTML:
<label> <script> translating_function("hello"); </script> </label>
JAVASCRIPT:
function translating_function(string) {
//finding the translation (for example translated_text)
returning translated_text
}
The return of the translating_function function should be set as the text of the label. Does any one have any idea how to do it. Thank you very much.
解决方案
var voc = [
{
"AR":"أهلا",
"ES":"¡Hola",
"EN":"hello"
},
{
"AR":"مرحبا",
"ES":"bienvenida",
"EN":"welcome"
},
{
"AR":"و",
"ES":"y",
"EN":"and"
},
{
"AR":"في اللغة العربية",
"ES":"a España",
"EN":"to English"
}
];
function translate(ele,lng){
for(var i=0;i<voc.length;i++){
for(var k in voc[i]){
if(voc[i][k] == ele.innerText.trim()){
ele.innerText = voc[i][lng];
break;
}
}
}
}
function translateTo(lng){
var trc = document.getElementsByClassName("translatable");
for(var i=0;i<trc.length;i++){
translate(trc[i],lng);
}
}
//add this function to any event button.click,select.change or on load
//translateTo("AR");
<p>
<span class='translatable'>hello</span>
<span class='translatable'>and</span>
<span class='translatable'>welcome</span>
<span class='translatable'>to English</span> :)
</p>
<select onchange='translateTo(this.value)'>
<option value='EN'>English</option>
<option value='AR'>Arabic</option>
<option value='ES'>Espain</option>
</select>
这篇关于如何在不知道javascript中的标签ID的情况下通过javascript函数设置标签文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文