我跳过了当您输入时调用的jQuery来源的不同区域:
$('.foo')
或
$('#foo')
尝试确定jQuery如何解析选择器(我假设charAt())但想要验证。
我到了这里:
if ( selector.nodeType ) {
this.context = this[0] = selector;
this.length = 1;
return this;
}
但我有点卡在什么
selector.nodeType
一样。这个reference表示nodeType几乎可以是任何东西......那么它们到底要检查的是什么?
jQuery API进一步打破了可能性。
总结一下这段代码片段试图完成选择器变量是什么?
答案 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
});