我有输入表格,例如
<input type="checkbox" id="a.b">
每当我使用console.log()
javascript函数点击它时,我想打印它的值。
<input type="checkbox" id="a.b" onclick="console.log(a.b.value)">
显然,Javascript抱怨a是未定义的,并且值的属性b不存在。我发现这样做的唯一方法是使用_而不是a重命名我的字段。 (期)。我最终得到了
<input type="checkbox" id="a_b" onclick="console.log(a_b.value)">
有更好的方法吗?我可以在标识符中转义点吗?我知道。是Javascript标识符中的无效字符,但它不是HTML格式。我可以使用jquery来解决这个问题吗?
答案 0 :(得分:4)
Javascript使用.
表示法来使用对象。而且你只能在使用String时逃脱。所以答案是否定的。
为什么不使用this
<input type="checkbox" id="a.b" onclick="console.log(this.value)">
&#13;
如果您正在使用它,那很好,但正如有人已在评论中指出的那样,请勿使用内联事件。而是在元素上添加事件
var checkbox = document.getElementById("a.b");
checkbox.onchange = function() {
if(this.checked) {
console.log("checked");
} else {
console.log("un checked");
}
}
&#13;
<input type="checkbox" id="a.b">
&#13;
答案 1 :(得分:0)
您可以通过执行console.log(window["a.b"].value)
来访问它。我不建议这样做,因为直接访问元素不是最佳做法,但它会做你要求的。