我正在构建一个带有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');”
那些知道守则的天才?
答案 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 + " />";
简化,简化......