javascript - javascript onclicking按钮给不同的div
问题描述
我希望改进我的 javascript,我注意到我经常做的一件事是 eval(string) 并将其转换为变量,我在这里有一个示例,使用 2 个 cta 的 onclick 来访问不同的对象。我一直在寻找一种替代方式而不是“eval”字符串,
//js
function test2(e){
var x=e.value;
var y=eval(x);
var results = document.getElementById('results');
results.innerHTML='name '+y.name+' age '+y.age
}
var tests={
name:'lee',
age:34
}
var test123={
name:'leess',
age:36
}
<button value="tests" onClick="test2(this)">Button</button>
<button value="test123" onClick="test2(this)">cta2</button>
<div id="results"></div>
解决方案
您可以直接在 onClick 处理程序中提供 javascript 对象:
//js
function test2(y){
var results = document.getElementById('results');
results.innerHTML='name '+y.name+' age '+y.age
}
var tests={
name:'lee',
age:34
}
var test123={
name:'leess',
age:36
}
<button value="tests" onClick="test2(tests)">Button</button>
<button value="test123" onClick="test2(test123)">cta2</button>
<div id="results"></div>
推荐阅读
- html - 光滑的轮播(下一个/上一个按钮放置)
- oracle - 带有自定义事件“beforeunload”的 Oracle Apex 4.2 动态操作不起作用
- c# - 使用表单授权模拟用户
- attributes - 使用属性和数量在购物车上添加费用
- javascript - 按状态转换数据数组
- swift - 迅速正确计算时间占一天的比例
- html - iFrame 使用来自主机主体的背景图像
- obfuscation - 有哪些好的/便宜的数据混淆和数据屏蔽工具?
- angular8 - 在 Angular 8 中设置启动页面/组件但出现错误“Angular CLI 进程未开始侦听请求”
- android - Java.Lang.RuntimeException:Firestore (0.6.6-dev) 中的内部错误,无法在我的应用程序和 Firestore 项目之间连接