Javascript-目标DOM在一种情况下工作,而不是在另一种情况下工作
我有一个Javascript-目标DOM在一种情况下工作,而不是在另一种情况下工作,javascript,Javascript,我有一个javascript,当按下Ctrl+Enter时,它将调用CtrlEntInsertData(): 我有一个错误: TypeError:null不是对象(正在计算“target.setAttribute”) 但是当我使用它来getPosition()时,它确实返回了一些东西。这是为什么?如何使其工作?此选择器 document.querySelector("input"); 查找标记输入的第一个元素 如果要按类输入选择元素,则需要使用 document.querySelector("
javascript
,当按下Ctrl
+Enter
时,它将调用CtrlEntInsertData()
:
我有一个错误:
TypeError:null不是对象(正在计算“target.setAttribute”)
但是当我使用它来getPosition()
时,它确实返回了一些东西。这是为什么?如何使其工作?此选择器
document.querySelector("input");
查找标记输入的第一个元素
如果要按类输入选择元素,则需要使用
document.querySelector(".input");
请参阅。这是工作代码。
虽然我使用了selectByClassName,但您应该准确地选择元素。我建议您使用selectById
function CtrlEntInsertData() {
var target = document.getElementsByClassName("input")[0];//selects first element of this class
var tarpos = getPosition(target);
target.setAttribute('data', 10);
console.log(tarpos.x+" "+tarpos.y);
console.log(target);
}
它应该是document.querySelector(“.input”)代码>如果要按类查询它querySelector(“input”)
代表input
标记,如
。要基于Yeldar的注释,如果您确实想搜索标记名(如input),可以使用getElementByTagName。
document.querySelector(".input");
function CtrlEntInsertData() {
var target = document.getElementsByClassName("input")[0];//selects first element of this class
var tarpos = getPosition(target);
target.setAttribute('data', 10);
console.log(tarpos.x+" "+tarpos.y);
console.log(target);
}