为什么jQuery $()将输入作为字符串?

时间:2016-09-25 20:34:53

标签: javascript jquery

我刚刚开始使用CodeAcademy学习JavaScript和jQuery。根据我的理解,$()的输入始终是一个字符串(例如'div')。我试图弄清楚为什么会这样。

编辑:我认为我对此感到困惑的原因是因为'div'与div不同。前者是一个字符串而后者,我不确定。当我想到一个字符串时,我想到一个非常基本的字符串,并不意味着什么。其他数据类型通常意味着什么。如果我们将'div'放入选择器中,似乎我们放入一个没有任何意义的字符串?

最终编辑:这个问题现在已经结束了,但是我想继续进行,并添加一些关于此处发生的事情的背景,因为我理解了自己问题的答案。在理解JavaScript之前我犯了跳入jQuery的错误。我不明白$()是利用jQuery文档对象模型(DOM)如何工作的简称。

课程:CodeAcademy非常适合您在不知道自己在做什么的情况下开始,但请在学习jQuery之前先学习JavaScript课程。

2 个答案:

答案 0 :(得分:2)

$()jQuery()功能。它接受不同的参数,其中包括:DOM对象和字符串。请阅读jQuery function的文档。

此上下文中的字符串是 jQuery选择器,也用于其他jQuery函数(如appendTo和许多其他函数)。阅读selectors

"div"(字符串,匹配文档中所有div的选择器)和div DOM对象确实有区别:DOM对象是可编写脚本的对象实例,代表了每个部分浏览器理解的HTML(包含方法和属性)。

jQuery函数返回另一种类型的对象(jQuery Object),它引用一个或多个元素(可能是<div>)。

示例:

// 'div' is a selector, a string.
// $() is the jQuery function (you can use jQuery('div').
var allDivs = $('div'); 

// allDivs now contains a jQuery object that references all div objects.
// We can chain jQuery method calls on this jQuery object selection.
allDivs.hide();

答案 1 :(得分:0)

核心$()是一个Javascript函数,因此括号之间的所有内容都被视为函数参数

如果您为函数提供参数div而不是字符串"div",则将其视为Javascript 变量