使用javascript构造HTML并传递变量(onclick函数) - 引用/双引语法问题

时间:2013-03-05 23:57:24

标签: javascript html

我正在构建一个带有JavaScript函数的HTML片段,该函数会注入div。

无法弄清楚如何动态地对传递的变量进行引用/双引号包装。

var vLC = "zh-CN"

var vHtml = "<input type='radio' id='rbtn1' onclick='renderList(" + vLC + ");' />";

此代码呈现:onclick =“renderList(zh-CN);”

我需要它来渲染:onclick =“renderList('zh-CN');”

那些知道守则的天才?

3 个答案:

答案 0 :(得分:2)

不要通过将字符串混合在一起来修改文档。维持它更痛苦然后它是值得的。

var element = document.createElement('input');
element.type = "radio";
element.id = "rbtn1";
element.addEventListener('click', function () {
    renderList(vLC);
});

这是一般规则。如果你在另一种语言中处理一种语言(编程,模板,数据序列化等等),你会遇到痛苦。当你在这里添加另一个层(JS里面的JS里面的JS)时,你会感到非常痛苦。

始终使用API​​来构建文档,或者依次构建每个图层,并在通过转义例程运行后将其添加到下一个图层。

答案 1 :(得分:0)

var vLC = "zh-CN"

var vHtml = "<input type=\"radio\" id=\"rbtn1\" onclick=\"renderList('" + vLC + "');\" />";

答案 2 :(得分:0)

www.jsbin.com救援! - 感谢Remy Sharp @rem :-D

解决方案是使用变量进行onclick操作。

var vLanguageCode = "us-EN";
var vOnclick = 'renderList("' + vLanguageCode + '")';
vHtml = "<input type='radio' id='rbtn1' onclick=" + vOnclick + " />";

简化,简化......