我可以在document.getElementById()中使用字符串变量吗?

时间:2014-02-27 12:21:24

标签: javascript html css web

这是我的代码:

function figureSelector () {
    document.getElementById("rook").onclick = function  () {
        curr = '"rook"';
    };
};

function moveLine(){
    document.getElementById("upButton").onclick = function() { 
            document.getElementById(curr).style.top = document.getElementById(curr).offsetTop - getPix() * 62  + "px"; 
            counter= counter + getPix();
    }; 

我想为棋子移动编写一个通用功能。我想要的是,当一个人点击棋子,然后按下向上按钮时,它必须上升。

3 个答案:

答案 0 :(得分:4)

是的,你可以使用String变量:

<强> HTML:

<div id="name" style="width:300px;height:300px;background:red"></div>

<强>的javascript:

var b = 'name';
document.getElementById(b).innerHTML = 'none';

jsfiddle here

答案 1 :(得分:3)

是的,你可以。 只需使用

curr = 'rook';

(没有额外的报价)

答案 2 :(得分:0)

您甚至可以执行以下操作:

function mark(yy)  {
    for (var ii = 0; ii < 7; ii++ )  {
        if (  ii == yy )  {
            document.getElementById("b"+ii).style.fontWeight = "bold";
         }
...

但是请注意循环限制,以确保您具有匹配的ID。我花了几个小时试图弄清楚为什么("b"+ii)出错了,最后才意识到错误是完全由这个原因引起的。 ......