我在一段代码中遇到了以下内容:
var searchBox = $(this.element[0]);
我对Javascript和jQuery很陌生。我想了解它,但我很难过。这一行是jQuery UI Accordion小部件的实现。
this
指的是什么?
另外,我玩了一下线,我开始理解它完美无缺 - 无论阵列中的数字是多少。另外,如果我删除括号并只写下面的行,它就可以正常工作:
var searchBox = $(this.element);
它意味着什么,有什么区别?
非常感谢你。 :)
修改 这是我的完整代码。也许它会有所帮助。 https://jsfiddle.net/yx8puo2j/1/
答案 0 :(得分:3)
var searchBox = $(this.element[0]);
返回一个元素(1个对象)。
var searchBox = $(this.element);
返回列表元素。
这表示 classes
,而非 id
(因为id
是唯一的)。
示例:
var searchbox = $(this.angry_button)
返回课程angry_button
的所有(列表)元素。var searchbox = $(this.angry_button[0])
返回类angry_button
的第一个元素。var searchbox = $(this.angry_button[1])
返回类angry_button
的第二个元素。
答案 1 :(得分:1)
使用时
var searchBox = $(this.element[0]);
您正在选择第一个
""这"在哪里"这"是您当前所处的元素,如div或输入字段元素
答案 2 :(得分:1)
我无法告诉你这是什么,但我可以解释一下发生了什么以及它为什么会起作用:
在jQuery中,您可以选择$("")
的任何元素,但如果您选择在DOM中多次存在的类,该怎么办?
所以我得到了这个在文档中存在5次的按钮类,我用$(".button")
选择它。现在返回一个包含5个项目的数组。
如果我们想要选择第五个按钮$(".button[0]")
,我们要选择第一个按钮$(".button[4]")