2017-03-06 61 views
-1

我想做一个换行符,当我在我的JSON结构使用<br>显示我的HTML,但它不工作使用JSON我想做一个换行符,当我显示我的HTML

我translate.js文件:

$(function() { 

    // Object literal behaving as multi-dictionary 
    dictionary = { 
     "fr": { 
     "menu": { 
      "about": "À PROPOS", 
      "services": "SERVICES", 
      "portfolio": "PORTFOLIO", 
      "pricing": "TARIF", 
      "contact": "CONTACT" 
     }, 
     "weSpecializeIn": "Ingénierie. <br> Systèmes. <br> Électronique . <br> Logiciel" 

     }, 
     "en": { 
     "menu": { 
      "about": "ABOUT", 
      "services": "SERVICES", 
      "portfolio": "PORTFOLIO", 
      "pricing": "PRICING", 
      "contact": "CONTACT" 
     }, 
     "weSpecializeIn": "Engineering. <br> Systems. <br> Electronics <br>. <br> Software" 
     } 
    }; 

    // Function for swapping dictionaries 
    set_lang = function(dictionary) { 
     $("[data-translate]").text(function() { 
     var key = $(this).data("translate"); 
     return parseSubObject(dictionary, key); 
     }); 
    }; 

    function parseSubObject(obj, str) { 
     var props = str.split("."); 

     var thisProp = props.shift(); 
     if (obj.hasOwnProperty(thisProp)) { 
     if (props.length == 0) { 
      return obj[thisProp]; 
     } else { 
      return parseSubObject(obj[thisProp], props.join('.')); 
     } 
     } else { 
     return null; 
     } 
    } 

    // Swap languages when menu changes 
    $(".lang").click(function() { 
     var language = $(this).text().toLowerCase(); 
     if (dictionary.hasOwnProperty(language)) { 
     set_lang(dictionary[language]); 
     } 
    }); 

    // Set initial language to French 
    set_lang(dictionary.fr); 

}); 

我跨度显示翻译

<span data-translate="weSpecializeIn"></span> 

显示的结果是整个LIGNE:

法国:

Ingénierie. <br> Systèmes. <br> Électronique. <br> Logiciel 

英语:

Engineering. <br> Systems. <br> Electronics. <br> Software 

期待显示:

法国:

Ingénierie. 
Systèmes. 
Électronique. 
Logiciel 

英语:

Engineering. 
Systems. 
Electronics. 
Software 
+0

做什么你想要做什么?在html代码中显示json字符串 – lordkain

+0

你是什么意思你想打破这条线。请显示所需的输出。你用什么来分析json对象? – vaso123

+0

'data-translate'本身并没有做任何事情。究竟如何处理完全取决于Javascript在这里进行替换。 – deceze

回答

0

我找到了解决办法:

我必须使用的.html()代替的.text()

解决方案:

set_lang = function(dictionary) { 
     $("[data-translate]").html(function() { 
     var key = $(this).data("translate"); 
     return parseSubObject(dictionary, key); 
     }); 
}; 

代替:

set_lang = function(dictionary) { 
     $("[data-translate]").text(function() { 
     var key = $(this).data("translate"); 
     return parseSubObject(dictionary, key); 
     }); 
}; 
相关问题