Переменная $ в Chrome?
Я работал с инструментами разработчика Google Chrome на странице без jQuery (или любой другой библиотеки, которая использует $
подписать как ярлык). Когда я проверял $
с помощью консоли (просто набрав его и нажав Enter), я получил это:
$
function () { [native code] }
Таким образом, Chrome имеет некоторую встроенную функцию, на которую может ссылаться $
, Кажется, только Chrome имеет это, и я не могу получить к нему доступ через window['$']
ни через document['$']
или же this['$']
,
Я не смог выяснить, что это за функция. Знаете ли вы, что он делает, и, возможно, есть некоторая справочная информация по этому вопросу? Заранее спасибо!
6 ответов
Это снова изменилось, даже с прошлого года.
Консоль devtools обеспечивает $
как псевдоним document.querySelector
наряду со многими другими вещами; вот выдержка из списка:
$(selector)
возвращает ссылку на первый элемент DOM с указанным селектором CSS. Эта функция является псевдонимом дляdocument.querySelector()
функция.$$(selector)
возвращает массив элементов, которые соответствуют данному селектору CSS. Эта команда эквивалентна вызовуdocument.querySelectorAll()
,$_
возвращает значение последнего вычисленного выражения.$0
,$1
,$2
,$3
а также$4
Команды работают как хронологическая ссылка на последние пять элементов DOM, проверенных на панели "Элементы", или последние пять объектов кучи JavaScript, выбранных на панели "Профили".
... и куча других.
Обратите внимание, как это называется $
псевдоним document.querySelector
, но говорит $$
"эквивалентно" вызову document.querySelectorAll
, Ни то, ни другое не кажется буквально правдой; $ === document.querySelector
является false
, а также $$
возвращает массив, а не NodeList
,
Это одна из функций Chrome Developer Tools (недоступно на странице). Вы можете увидеть документацию по нему на странице консоли (хотя это просто говорит о том, что он реализует команды консоли Firebug)
Он получает элемент по его идентификатору.
Существующие ответы устарели, $
не псевдоним для document.getElementById
или же document.querySelector
, но обертка для querySelector
, Эта обертка фактически принимает необязательный второй аргумент для элемента, который запрашивает дочерний элемент.
Это семейство функций описано в разделе " Консоль: выбор элементов":
Выбор элементов
Есть несколько ярлыков для выбора элементов. Это экономит ваше драгоценное время по сравнению с печатью их стандартных аналогов.
$()
Возвращает первый элемент, который соответствует указанному селектору CSS. Это ярлык дляdocument.querySelector()
,
$$()
Возвращает массив всех элементов, которые соответствуют указанному селектору CSS. Это псевдоним дляdocument.querySelectorAll()
$x()
Возвращает массив элементов, которые соответствуют указанному XPath.
Однако эти значения являются только значениями по умолчанию в консоли. Если страница перезаписывает переменную, добавляя что-то вроде jQuery, консоль будет использовать значение самой страницы и что-то вроде $('p')
вернет объект JQuery, а не только первый p
элемент.
Судя по ссылке на инструменты разработчика, он теперь использует document.querySelector(), а не просто getElementById().
https://developers.google.com/chrome-developer-tools/docs/console
Это просто быстрый доступ к document.getElementById.
Есть два селектора в инспекторах Webkit, те же, что и у Mootools один: $
а также $$
Вы можете найти некоторую информацию об этом, здесь
Они здесь, чтобы помочь вам в отладке.