jQuery函数中的this.element是什么?

13

我正在阅读Jörn Zaefferer关于jQuery UI组合框的优秀解释(链接在这里)。

第四行代码为var select = this.element.hide()

Jörn说:

var select引用应用组合框的select元素。为了用文本输入替换选择操作,需要隐藏select元素。

我正在学习jQuery,但我不记得以前看到过this.element。它与仅使用this有何不同?


... 那么,元素名在哪里? $(X).html() 显示元素的内容,但不是元素本身! - Peter Krauss
var elementName = $(this).get(0).tagName.toLowerCase(); 变量elementName获取的是$(this)对象的第一个元素标签名,转换成小写形式。 - Peter Krauss
3个回答

16
在一个小部件内,“this”指的是该小部件对象本身,它包含一个名为“element”的属性。而这个“element”指向该小部件已应用的HTML元素。

谢谢,我想这可能是情况。所以一个小部件实际上是一个独立的对象。与插件不同,例如,“this”将指代您调用它的对象。 - esther h

7
你可以这样想。
this.element // is just normal jquery object

// for example
var element = $('.current-selected-dropdown');

// and then put this together inside ui object
this.element = element

我不确定这是否能帮到您。


var Dropdown = {
    element: null,
    _init: function() {

        // here is the same this.element that you referred to. 
        this.element = $('.dropdown');
    }
}

2
这里所指的“this”可能不是查询对象,而是使用 this.element 缓存查询对象。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接