2017-03-03 93 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