javascript - 在 jQuery 中, `this.element` 和 `this.element[/* some number */]` 有什么区别?

标签 javascript jquery jquery-ui jquery-ui-accordion

我在一段代码中遇到了以下内容:

var searchBox = $(this.element[0]);

我对 Javascript 和 jQuery 还很陌生。我试图理解它,但我很难。这一行是在 jQuery UI Accordion 小部件的实现中。

this 指的是什么?

此外,我对这条线进行了一些尝试,我了解到它可以完美地工作——无论数组中的数字是多少。此外,如果我删除括号并只写下一行,它就可以正常工作:

var searchBox = $(this.element);

什么意思,有什么区别?

非常感谢。 :)

编辑: 这是我的完整代码。也许它可以帮助。 https://jsfiddle.net/yx8puo2j/1/

最佳答案

var searchBox = $(this.element[0]);

返回一个元素(1个对象)。

var searchBox = $(this.element);

返回元素的列表

这说明了 classes,而不是 id(因为 id 是独一无二)。

Examples:

  • var searchbox = $(this.angry_button) returns all (list) elements with class angry_button.
  • var searchbox = $(this.angry_button[0]) returns the first element with class angry_button.
  • var searchbox = $(this.angry_button[1]) returns the second element with class angry_button.

关于javascript - 在 jQuery 中, `this.element` 和 `this.element[/* some number */]` 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32090753/

相关文章:

javascript - 是更好还是将我的 ajax 请求分组或单独发送每个请求?

javascript - HTML5 时间轴、甘特图控件

javascript - 使用 mvc 进行数据绑定(bind)的多 handle slider

javascript - javascript 中带有两个单词的 attr id

javascript - 向文档根目录添加对话框,jQuery

jquery - 使用 jQueryUI 对话框确认时如何停用 "Enter Key"

javascript - 替换数组中已更改的元素

javascript - 检测 slider 变化

android - Nexus 7 处理 jQuery Mobile : input type number problems

javascript - Bootstrap 将导航栏固定在 div 内