首页 > 解决方案 > Javascript :: 使用变量作为对象 ID 和属性的字符串;

问题描述

function ftest (P1, P2) {
"use strict";

  document.getElementById(String(P1)).display = String(P2);
}

document.getElementById( String(P1) )
使用参数 P1 作为 ObjectID;

display = String(P2)
使用参数 P2 作为 ObjectStyle 属性;

这种方式可以避免在工作流中传递值时出现混乱::

onclick="ftest(objectname,objectproperty)"

代替

onclick="ftest('objectname','objectproperty')"

结果将是 Object is Null 或 Unknown Property ?
当试图在 html 代码中使事情变得干净时;

标签: javascriptstringvariablespropertiesobjectid

解决方案


你不能。这样做的唯一方法是:

 var objectname = "objectname";

然后

 ftest(objectname)

会工作。但是,如果您的目标是

在 html 代码中使事情变得干净

然后删除内联事件监听器并执行以下操作:

 // html
 <button id="ftest" > ftest </ button>

 // js
 const on = (selector, event, handler) => document.querySelector(selector).addEventListener(event, handler);

 on("#ftest", "click", () => ftest("objectname", "objectproperty"));

推荐阅读