Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在表达式中插入字符串_Javascript_Html_Css - Fatal编程技术网

Javascript 在表达式中插入字符串

Javascript 在表达式中插入字符串,javascript,html,css,Javascript,Html,Css,在我的脚本中,用户必须指定方向,我必须按照这个方向执行代码。我唯一的想法是: function (dir) { var element = document.querySelector('#id'); eval('element.style. ' + dir + ' = 10\'px'\;' } 我想知道是否有更好的方法来做到这一点。因为据我所知,eval不是一种好的做法。无需进行错误检查以确保元素.style[dir]存在,您可以执行以下操作: function foo(dir) {

在我的脚本中,用户必须指定方向,我必须按照这个方向执行代码。我唯一的想法是:

function (dir) {
  var element = document.querySelector('#id');
  eval('element.style. ' + dir + ' = 10\'px'\;'
}

我想知道是否有更好的方法来做到这一点。因为据我所知,eval不是一种好的做法。

无需进行错误检查以确保
元素.style[dir]
存在,您可以执行以下操作:

function foo(dir) {
  var element = document.querySelector('#id');
  element.style[dir] = '10px';
}
我假设你会这样使用它:

foo('top'); // ==>  element.style.top = '10px';

如果不进行错误检查以确保
元素.style[dir]
存在,则可以执行以下操作:

function foo(dir) {
  var element = document.querySelector('#id');
  element.style[dir] = '10px';
}
我假设你会这样使用它:

foo('top'); // ==>  element.style.top = '10px';

撇开
eval
是错误的工具不谈(接受的答案有正确的解决方案),值得注意的是
element.style.left=10'px'无论如何都不是有效的代码。撇开
eval
是错误的工具不谈(接受的答案有正确的解决方案),值得注意的是
element.style.left=10'px'无论如何都不是有效的代码。