我正在努力让以下工作。它似乎最初工作,但不知何故它停止工作
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>
我正在使用jquery来点击一行获取id:
$(".rowclick").click(function() {
var row_id = $(this).attr("id");
var getAttributes = row_id.split("_");
var setCommonAttr = getAttributes[1] + "_" + getAttributes[2] + "_" + getAttributes[3] + "_" + getAttributes[4];
var new_row_id = document.getElementById("new_row_" + setCommonAttr).value;
});
答案 0 :(得分:2)
你不应该需要eval()来做这件事。您想要的值已经是JavaScript中的变量。尝试:
var setCommonAttr = "1_row1_common";
var val = document.getElementById("abc_" + setCommonAttr).value;
答案 1 :(得分:0)
您无需调用eval()。
您可以将字符串与变量连接:
var setCommonAttr = "1_row1_common"; var val = document.getElementById("abc_" + setCommonAttr).value;
答案 2 :(得分:0)
一切都是那种形式吗? row_xxx_xxx_xxx_xxx
如果是这样,为什么不var new_row_id = document.getElementById("new_" + row_id).value;