2017-03-03 96 views
-1

纠正我,如果我错了,双美元符号($$)是JavaScript中的(querySelectorAll)的简写。
但我所注意此代码:

document.querySelectorAll('#main') 

NodeList[1] 
0:section#main.group 
length:1 
__proto__:NodeList 

,它返回一个节点列表
,当我使用:

$$('#main') 
Array[1] 
0:section#main.group 
length:1 
__proto__:Array[0] 

它返回像OBJ
所以他们AREN”的阵列同样,对吧?!


我不使用jQuery的一件事是,美元符号最初是javascript和jQuery的一部分,只是使用它或它的不同?

+1

我觉得$$只有当你已经实现了jQuery的原理。 querySelectorAll是一个普通的javascript函数 – mtizziani

+0

我没有附加jQuery到我的文件,结果显示在Chrome控制台@mtizziani – ThePantaloon

回答

0

正如您在下面的代码片段中看到的,$$未定义。

这是一个由浏览器命令行代码,只有在控制台中输入 其中document.querySelectorAll在页面以及控制台的script中都有效。

如果键入

$$; 

控制台,它会返回这样

功能$$(选择,[的StartNode]){[命令行API]}

但是如果你输入这个,

document.querySelectorAll; 

它将返回

功能querySelectorAll(){[本地代码]}

$$只对像开发工具测试目的的功能。

console.log(document.querySelectorAll('div')); 
 
console.log($$('div'));
<body> 
 
<div>div1</div> 
 
<div>div2</div> 
 
<div>div3</div> 
 
</body>

+0

好吧,另一个问题并没有过去的控制台用于返回一个HTML/XML格式,当你使用document.querySelectorAll,现在它返回一个Nodelist,即使我没有使用dir() – ThePantaloon

+0

我认为没有。这个问题http://stackoverflow.com/questions/2600343/why-does-document-queryselectorall-return-a-staticnodelist-rather-than-a-real-ar 问在2010年和它,答案说,它返回一个NodeList。所以在过去的7年里,我没有任何改变。我开始对此进行研究。如果我找到了一些东西,将会在这里添加它 –

+0

我是否会在Lynda上观看我称为JavaScript的视频:增强DOM [2013],以及何时写文档。querySelectorAll在控制台(铬)他得到一个HTML代码相同的是你写在HTML文档,然后他会使用dir()方法访问它的属性作为节点列表 – ThePantaloon