如何将javascript变量视为/转换为ids?

时间:2016-03-03 09:05:32

标签: javascript jquery html variables getelementbyid

我的网站上有几个不同ID的div。像这样;

<div id = 'write1' style="color:#0000FF">
<div id = 'write2' style="color:#0000FF">
<div id = 'write3' style="color:#0000FF">
<div id = 'write5' style="color:#0000FF">
....
....
....
<div id = 'write*' style="color:#0000FF">

然后我的网站上有几个按钮就像这样;

  <button id = 'write1click' type="button">Click Me!</button> 
  <button id = 'write2click' type="button">Click Me!</button> 
  <button id = 'write3click' type="button">Click Me!</button> 
  <button id = 'write4click' type="button">Click Me!</button> 
    ....
    ....
    ....
 <button id = 'write*click' type="button">Click Me!</button> 

在我的javascript中,我正在做的是像div那样获得div标签和按钮的引用;

var write1 = document.getElementById("div1");
....
....
.... 
var write1click = document.getElementById("write1click");

然后我正在做的是从我的按钮ID中额外添加所有数字;

var getnumber = write1click.id.replace(/\D/g, ''); // This returns 1

然后我创建另一个变量值;

var finalVariable = 'write' + getnumber; // This returns write1

现在变量finalVariable最初包含的是第一个div标记&#39; write1&#39;的ID。然而,该网站现在还没有。

我想要做的是检查是否存在具有此名称的变量,以及是否有我想要执行特定任务。

因此,例如在伪代码中,它可能看起来像;

IF finalVariable Is or Matches a id of element in the website THEN
Do something

我不确定这是否可能,如果是的话,欢迎任何帮助。如果我的问题不清楚请告诉我,我会尝试更好地解释它。

此外,请注意,如果这可以实现,而不需要像这样引用div id var write1 = document.getElementById("div1");但是,因为我对网站相当新,我愿意接受建议,但我现在想如何做到这一点完成。

感谢。

2 个答案:

答案 0 :(得分:2)

是的,JS代码将完全是您的伪代码:

if (document.getElementById(finalVariable)) {
    // do something, ex: document.getElementById(finalVariable).style.color = 'blue';
}

或者在jQuery中:

if ($('#' + finalVariable).length) {
    // do something
}

答案 1 :(得分:1)

您是否尝试过从窗口对象

访问变量
if(!typeof window[finalVariable] === undefined){
     //your variable exists
     if(window[finalVariable] != null){
         //do something
     }
}