我从 mysql 数据库获取这些数据并打印每一行并添加一个按钮。但逃跑是一个大问题。有没有办法轻松地将其转换为 DOM,而不是打印内联 html?
render : function(template,params){
var arr = [];
switch(template){
case 'loginTopBar':
arr = [
'<span><img src="',params.gravatar,'" width="23" height="23" />',
'<span class="name">',params.name,
'</span><a href="" class="logoutButton rounded">Logout</a></span>'];
break;
case 'chatLine':
arr = [
'<div class="chat chat-',params.id,' rounded"><span class="gravatar"><img src="',params.gravatar,
'" width="23" height="23" onload="this.style.visibility=\'visible\'" />','</span><span class="author">',params.author,
':</span><span class="text">"',params.text,'"</span><span class="time">',params.time,'</span></div>'];
break;
case 'user':
arr = [
'<div class="user" id="',params.text,'" title="',params.text,'"> <button type="button" value="',params.text,'" class="btn btn-success" onclick="ImageHosting_Click( \'',params.text,'\')"></button>',params.text,'',params.text,'</div>'
];
break;
case 'userz':
arr = [
'<div class="userz" title="',params.disp,'">',params.disp,'</div><br>'
];
break;
}
// A single array join is faster than
// multiple concatenations
return arr.join('');
},
最佳答案
下面我已经为您转义了单引号,请再次注意 \''
这就是技巧。但请注意,还有其他转义问题,例如 if f="shoe's"
等。
这就是我建议首先创建 DOM 元素并使用 insideText 等的原因。
var f= "hello";
var arr = ['<button type="button" onclick="ImageHosting_Click(\'',f,'\')">'];
console.log(arr.join(''));
关于javascript - 按钮传递 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46017750/