getElementById 不返回元素

getElementById not returning element

我试图从另一个元素值中获取一个元素 ID,但我一直返回 null。单击第一个复选框应该会显示我遇到的问题。

<input id="test" type="checkbox" name="checkAddress" onclick="checkAddress(this)" value="66" />
<input id="rrrr66" type="checkbox" name="checkAddress" onclick="checkAddress(this)" value="33" />
<script>
    function checkAddress(checkbox) {
        if (checkbox.checked) { 
            var testing = '"rrrr'+document.getElementById("test").value+'"';
        alert(typeof testing); **<-- shows the correct type**
        alert(testing); **<-- shows the correct value**
        alert(document.getElementById(testing)); **<-- does not work**
        alert(document.getElementById("rrrr66")); **<--works**
        }
    }

Demo Of issue

去掉字符串中的引号:

var testing = 'rrrr'+document.getElementById("test").value;

引号用于 解析器 以指示 字符串文字 。引号实际上不是值的一部分。你现在所做的相当于

document.getElementById('"rrrr66"')

比较这两个输出:

console.log("foo bar"); // foo bar
console.log('"foo' + ' bar"'); // "foo bar"

1

获取test的值,在rrrr前加上rrrr

var testing = "rrrr"+document.getElementById("test").value;

2 表演一下

document.getElementById(testing)

This 应该可以。