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

How to treat / convert javascript variables as / to ids?

本文关键字:转换 ids 变量 javascript      更新时间:2023-09-26

我的网站上很少有不同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 标签和按钮的引用,如下所示;

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 标签 'write1' 的 id。然而,该网站现在没有。

我想

做的是检查是否有具有此名称的变量,如果有,我想用它执行特定任务。

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

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

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

另外,请注意是否可以实现这一点,而无需像这样引用div id var write1 = document.getElementById("div1"); 但是,由于我对网站相当陌生,我愿意接受建议,但我现在想知道如何做到这一点。

谢谢。

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

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

或者在jQuery中:

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

您是否尝试过从窗口对象访问变量

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