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**
}
}
去掉字符串中的引号:
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 应该可以。
我试图从另一个元素值中获取一个元素 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前加上rrrr:
var testing = "rrrr"+document.getElementById("test").value;
2 表演一下
document.getElementById(testing)
This 应该可以。