getElementById 不返回元素

getElementById not returning element

本文关键字:元素 返回 getElementById      更新时间:2023-09-26

我正在尝试从另一个元素值中获取元素 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**
        }
    }

问题演示

从字符串中删除引号:

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

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

2 做这个技巧

document.getElementById(testing)

这应该有效。