为什么 `document.getElementById(“#datepicker1”)` 找不到我的元素?
Why does `document.getElementById(“#datepicker1”)` not find my element?
我正在尝试根据下拉列表的选择来显示/隐藏文本输入。
这是我正在尝试做的 JSFiddle。
当我进入函数时,我得到一个“TypeError
: Cannot set 属性 'type
' of null
”.
这是代码:
function showCustomDate(val) {
console.log(val);
if (val == 4) {
var y = document.getElementById("#datepicker1");
//console.log(y.type);
y.type = "text";
}
else {
var y = document.getElementById("#datepicker1");
//console.log(y.type);
y.type = "hidden";
}
};
y
为 null,因为元素的 id 可能是 datepicker1
而不是 #datepicker1
var y = document.getElementById("#datepicker1");
应该是
var y = document.getElementById("datepicker1");
使用 getElementById
时不需要 #
。 getElementById
returns null
如果没有找到元素。 null
没有名为 type
的 property
- 因此您得到错误。
function showCustomDate(val) {
console.log(val);
if (val == 4) {
var y = document.getElementById("datepicker1"); //removed #
//console.log(y.type);
y.type = "text";
} else {
var y = document.getElementById("datepicker1"); //removed #
//console.log(y.type);
y.type = "hidden";
}
};
我正在尝试根据下拉列表的选择来显示/隐藏文本输入。
这是我正在尝试做的 JSFiddle。
当我进入函数时,我得到一个“TypeError
: Cannot set 属性 'type
' of null
”.
这是代码:
function showCustomDate(val) {
console.log(val);
if (val == 4) {
var y = document.getElementById("#datepicker1");
//console.log(y.type);
y.type = "text";
}
else {
var y = document.getElementById("#datepicker1");
//console.log(y.type);
y.type = "hidden";
}
};
y
为 null,因为元素的 id 可能是 datepicker1
而不是 #datepicker1
var y = document.getElementById("#datepicker1");
应该是
var y = document.getElementById("datepicker1");
使用 getElementById
时不需要 #
。 getElementById
returns null
如果没有找到元素。 null
没有名为 type
的 property
- 因此您得到错误。
function showCustomDate(val) {
console.log(val);
if (val == 4) {
var y = document.getElementById("datepicker1"); //removed #
//console.log(y.type);
y.type = "text";
} else {
var y = document.getElementById("datepicker1"); //removed #
//console.log(y.type);
y.type = "hidden";
}
};