2014-03-27 36 views
7

是否可以從控制檯中的bookmarklet或snippet訪問$ 0 DOM元素指針?

更多信息約$ 0

https://developers.google.com/chrome-developer-tools/docs/commandline-api#0_-_4

開發工具會記住您在選項卡(或檔案面板)選擇的最後五個DOM元素(或JavaScript堆對象)。它使這些對象可用爲$ 0,$ 1,$ 2,$ 3和$ 4。 $ 0返回最近選擇的元素或JavaScript對象,$ 1返回最近選擇的第二個元素或JavaScript對象,依此類推。

+0

你的問題中包含「控制檯」,以明顯的答案是肯定的,因爲如果您複製$ 0,1,6,7中的任意JavaScript代碼,並在DevTools它會工作的控制檯選項卡中運行它,但不能在書籤欄。 – TWiStErRob

+0

現在支持片段。請參閱[我的回答](https://stackoverflow.com/a/48124238/1669860)。 –

回答

0

我一直在尋找一種方法來做到這一點。我還沒有找到一個,但我發現一個很好的折衷辦法是成爲一個將一段代碼複製到我的剪貼板的書籤。我使用角度很多的$ 0來獲得元素的範圍,如下所示:angular.element($ 0).scope()

因此,我有一個書籤,將該行復制到我的剪貼板,然後我可以非常輕鬆地粘貼到控制檯。根據你想要使用的$ 0,也許這將爲你做詭計。

這裏是如何複製文本使用JavaScript到剪貼板鏈接: How do I copy to the clipboard in JavaScript?

+0

現在支持。請參閱[我的回答](https://stackoverflow.com/a/48124238/1669860)。 –

0

在我只是用angular.element(this.document)代替angular.element($0)書籤,它爲我工作。

0

這似乎是工作爲Chrome瀏覽器65.運行一個片段的

我有:

console.log('$0 points to', $0); 

在GIF(右鍵單擊>打開圖像在新標籤頁如果它太小),您可以看到每次選擇新元素並重新運行代碼段時引用都會更新。僅供參考我正在運行從Command Menu的片段,方法是輸入!,然後輸入腳本的名稱。

enter image description here