我的网站上有几个不同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");
但是,因为我对网站相当新,我愿意接受建议,但我现在想如何做到这一点完成。
感谢。
答案 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
}
}