确定选择器是什么?

时间:2012-08-27 18:34:17

标签: javascript jquery

我跳过了当您输入时调用的jQuery来源的不同区域:

$('.foo')

$('#foo')

尝试确定jQuery如何解析选择器(我假设charAt())但想要验证。

我到了这里:

    if ( selector.nodeType ) {
        this.context = this[0] = selector;
        this.length = 1;
        return this;
    }

但我有点卡在什么

selector.nodeType

一样。这个reference表示nodeType几乎可以是任何东西......那么它们到底要检查的是什么?

jQuery API进一步打破了可能性。

总结一下这段代码片段试图完成选择器变量是什么?

1 个答案:

答案 0 :(得分:6)

nodeType表明传递给jQuery选择器的对象是一个DOM节点(通常是一个元素)。例如,这允许以下结构:

$(document)

document是表示文档的对象。 $(document)基于该元素构建jQuery对象。对nodeType的测试意味着jQuery可以检测参数是否是一个元素,如果是这样,只需根据它构建选择。

您还可以使用常见构造$(this)

来查看此内容
$('a').on('click', function() {
    console.log($(this).text()); // builds a jQuery selection based on the this
                                 // object, which is the DOM element that was 
                                 // clicked
});