为何Firefox、Chrome空白标签(about:blank)中$变量已被定义?
关于控制台中
$变量的说明 这不是老旧/精简版jQuery,而是浏览器开发者控制台内置的DOM选择器快捷函数,是浏览器为调试专门提供的工具,和页面本身的JavaScript环境无关,仅在控制台中可访问。
为什么存在?
浏览器开发者工具为了提升调试效率,会在控制台环境中注入一系列快捷工具函数,$就是其中之一,目的是让开发者不用写冗长的原生DOM选择代码,快速定位和操作元素。
具体作用
$(selector):等价于原生的document.querySelector(selector),返回匹配选择器的第一个DOM元素;- 额外补充:还有
$$(selector),等价于document.querySelectorAll(selector),返回所有匹配的DOM元素集合。
为什么和jQuery不一样?
这个内置的$只是个极简的选择器封装,仅负责返回原生DOM元素,没有jQuery的链式调用、DOM操作方法(比如.text())。你调用$('body').text()报错,是因为返回的是原生<body>元素,原生元素的文本操作要使用textContent或innerText属性,比如:
$('body').textContent = '测试文本';
另外,不同浏览器的控制台还提供了其他调试快捷变量,比如$0代表Elements面板中最近选中的元素,$1是上一个选中的元素,这些都是调试时的便利工具。
内容的提问来源于stack exchange,提问作者Daniel Kaplan
相关产品推荐
相关产品推荐

