接收错误消息:"未捕获的TypeError:无法读取属性'焦点' of null"尝试将focus()调用到元素ID时

时间:2016-03-08 16:53:54

标签: javascript jquery html

我的DOM中有一个元素,我附加了一个ID。我希望在Page Loads之后将焦点调用到该元素并将其设置为css样式(border:yellow)以突出显示它当前所关注的内容。这就是我所拥有的:

//main.html
  <myElement id= 'myEl'>

//main.js
window.setTimeout(function ()  { 
        document.getElementById('#myEl').focus(); 
    }, 0);

当我刷新页面时,我收到此错误:

  

未捕获的TypeError:无法读取属性&#39;焦点&#39;为null

3 个答案:

答案 0 :(得分:9)

由于javascript无法找到包含id='#myEl'的任何元素,因此请删除以下内容中的额外#

document.getElementById('#myEl').focus(); 
_________________________^

或者改用jquery选择器:

$('#myEl').focus(); 

希望这有帮助。

答案 1 :(得分:1)

在运行时更改组件ID,因此使用类而不是ID就像

$(".ClassName").focus();

答案 2 :(得分:0)

下面的工作代码仅供参考

模板代码

<div class="css-description">description</div>

脚本代码

this.$nextTick(() => {
   $(".css-description").focus();
})