Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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 - Fatal编程技术网

Javascript评估

Javascript评估,javascript,Javascript,我正在努力使以下工作正常进行。起初它似乎起作用,但不知何故它停止了作用 var setCommonAttr = "1_row1_common"; var val = document.getElementById("abc_" + eval("setCommonAttr")).value; 上面有什么问题 上面的代码与我试图实现的代码没有什么不同。我举上面的例子只是为了不让事情复杂化。以下是我试图实现的目标: 首先,我得到一个现有的元素,如下所示。元素是一个 <tr id="row_1_

我正在努力使以下工作正常进行。起初它似乎起作用,但不知何故它停止了作用

var setCommonAttr = "1_row1_common";
var val = document.getElementById("abc_" + eval("setCommonAttr")).value;
上面有什么问题

上面的代码与我试图实现的代码没有什么不同。我举上面的例子只是为了不让事情复杂化。以下是我试图实现的目标:

首先,我得到一个现有的元素,如下所示。元素是一个

<tr id="row_1_4_2009_abc" class="rowclick">
   <td></td>
</tr>

您不需要调用eval()

您可以将字符串与变量连接起来:

var setCommonAttr = "1_row1_common"; var val = document.getElementById("abc_" +   setCommonAttr).value;
您不需要eval()来执行此操作。您想要的值在JavaScript中已经是一个变量。尝试:

var setCommonAttr = "1_row1_common";
var val = document.getElementById("abc_" + setCommonAttr).value;

一切都是那样的吗?第xxx排第xxx排第xxx排第xxx排第xxx排第xxx排


如果是这样,为什么不
var new_row_id=document.getElementById(“new_”+row_id).value

为什么你甚至需要eval?调用eval完全没有必要我不明白你想做什么-你在
eval
使用字符串文字。另外,为什么不只使用
var val=document.getElementById(“abc_”+setCommonAttr).value您希望从
document.getElementById(“new_row_uu”+setCommonAttr).value?这是一个输入字段吗?@Martin。是的,这是一个隐藏的输入值。我用另一个示例代码编辑了我的问题,以显示我正在尝试做的事情。否,我正在剪切行id中的第一部分。我正在拆分“行id”,并在形成其他id时忽略第一部分。是的,但在您的示例中,新id的第一部分是“新行”,所以你有了“new_'+“row_…...”,这与去掉第一个组件(“row_')并在开头添加“new_urow_'-如果所有东西的开头都没有“row_'-这是行不通的,
var setCommonAttr = "1_row1_common";
var val = document.getElementById("abc_" + setCommonAttr).value;