如何在不知道javascript中的标签ID的情况下通过javascript函数设置标签文本? [英] How can i set a label text by a javascript function without knowing the label ID in javascript

查看:84
本文介绍了如何在不知道javascript中的标签ID的情况下通过javascript函数设置标签文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要用各种语言翻译设置HTML标签的文字。我知道如何做到这一点,当我知道标签的ID,但我想做一个通用的JavaScript函数,不需要id。按照这个顺序,我需要这样一些东西:



HTML:

 <标签> <脚本> translating_function( 你好); < /脚本> < /标签> 

JAVASCRIPT:

  function translating_function(string){
//找到译文(例如translated_text)
返回翻译文本
}

translating_function函数的返回值应该被设置为标签的文本。
有没有人知道如何去做。
非常感谢。

解决方案

< AR:أهلا,ES:Hola,EN:hello},{AR:مرحبا,ES:bienvenida,EN },{AR:و,ES:y,EN:and},{AR:فياللغةالعربية,ES:aEspaña,EN (var [i]){if(voc [i]){if(voc [i]); [k] == ele.innerText.trim()){ele.innerText = voc [i] [lng];打破; }}}}}函数translateTo(lng){var trc = document.getElementsByClassName(translatable); for(var i = 0; i< trc.length; i ++){translate(trc [i],lng);}} //将此函数添加到任何事件button.click,select.change或on load // translateTo(AR);

 < 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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆