javascript - 对象不支持属性或方法 "focus"

标签 javascript jquery html dom

我正在使用 tagsinput我网站上的文本字段来自此 project .

我正在尝试将焦点设置到文本字段,但它不起作用。它给我以下错误:

Unhandled exception at line 37, column 9 in
LOCALDOMAIN-LINK-REMOVED
0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'focus'.

line (37)这个错误指的是:

searchQueryTB.focus();

我的完整代码是:

document.onload = FocusSearchQueryTextBox();

function FocusSearchQueryTextBox() {
    var searchQueryTB = document.getElementsByClassName("TBhandle0F7X");
    searchQueryTB.focus();
}

标记:

<input type="text" value="" name="SearchQuery" id="tagsinput" class="TBhandle0F7X" />

所以我假设这可能与文本字段实际上不是一个合适的 textfield 这一事实有关。因为它是一个 jQuery UI 或被 tagsinput 使用的东西项目?或许我错了,但到目前为止我在谷歌上还没有任何运气,而且在该项目的网站上似乎没有任何与此问题相关的内容。

我也在 jQuery 中尝试过这个,但正如预期的那样,它也没有用。同样的错误。

关于哪里出了问题或我该如何解决这个问题有什么建议吗?

最佳答案

getElementsByClassName 返回一组 DOM 元素而不是元素本身,即使只有一个元素的类为 TBhandle0F7X

你可能想要

var searchQueryTB = document.getElementsByClassName("TBhandle0F7X")[0];

关于javascript - 对象不支持属性或方法 "focus",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11238148/

相关文章:

javascript - 在 javascript 的嵌套函数中与 'this' 关键字混淆

javascript - 对象实例共享子属性?

jquery - 如何获取跨度之外的文本

jquery - 能够在不使用固定高度的情况下滚动吗?

HTML 标题属性优先级

javascript - 使用 Flex 解析器解析 Javascript 代码

javascript - 使用 jQuery/Javascript 放置占位符

javascript - 如何在显示/隐藏元素时保留页面布局中的空间?

jquery - 带有未知宽度的 jquery 的中心 div

javascript - 根据表格单元格的值设置 CSS 规则