在下面的例子中,$()
函数是用来做什么的?
function test(){
var b=$('btn1');
eval(b);
}
在下面的例子中,$()
函数是用来做什么的?
function test(){
var b=$('btn1');
eval(b);
}
$()
方法不是JavaScript语言的一部分。它通常在JavaScript框架中定义,例如jQuery和Prototype,作为DOM选择器。然而,最初的问题可能是指jQuery、Prototype等流行DOM选择器。以下是一些jQuery示例:
$('*'); /* This selector is a wild card method and will select all
elements in a document. */
$('#id'); /* This selector selects an element with the given ID. */
$('.class'); /* The class selector will gather all elements in the
document with the given class name. */
$('element'); /* This selector will collect all elements in a document with
the given tag name i.e. table, ul, li, a etc. */
您可能希望查看以下文章以获取更多示例:
$()
函数是原生的纯 JavaScript。https://dev59.com/AXI95IYBdhLWcg3www2Y - user10398534这不是ECMAScript(JavaScript)的一部分,它只是你某个库定义的函数。通常是jQuery或PrototypeJS。
$()
函数是原生的纯 JavaScript。https://dev59.com/AXI95IYBdhLWcg3www2Y - user10398534
<div id="thisIsMyDivId">This is some content</div>
var myDiv = $('thisIsMyDivId');
$
函数。如果我说 window.$ = function(){alert('foo!');return null;}
这会改变结果,对吗?此外,jQuery 在 ID(即 $('#id')
)之前需要一个 #,并返回它本身(jQuery),而不是 DOM 元素本身(尽管可以通过 jQuery 返回的属性访问到它,例如 $('#id')[0]
,如果有结果的话)。 - Dan Beam我认为你正在处理一个框架。 大多数框架都包含 $ 函数,用于从选择器或 DOM 对象生成自定义对象。
这不是JS内置函数,而是原型函数
http://www.prototypejs.org/api/utility/dollar-dollar
$
而不是 $$
,在 mootools 中也存在这个功能(http://mootools.net/docs/core/Element/Element#dollar)。 - Dan Beam$符号不是JavaScript的一部分,它是JavaScript框架(可能是jQuery)的一部分
更多细节请查看this文章
var b=A('btn1');
一样。大多数JS库仅使用$,因为不太可能发生冲突,它也很显眼。 - Svend$('btn1')
的方式,那就不是 jQuery。jQuery 应该使用 $('#btn1')
。 - ceejayoz所提供的答案根本不正确。
在这张图片中(拍摄于Chrome的about:blank
标签页上),您可以清楚地看到没有jQuery。而且,鉴于文档是空白的,也没有PrototypeJS。与所有其他答案相反,这是一个本地JavaScript函数,可用于任何网站。ƒ $(selector, [startNode]) { [Command Line API] }
ƒ (a,b) {return new n.fn.init(a,b)}
这是PrototypeJS中的函数。
function $(element) {
if (arguments.length > 1) {
for (var i = 0, elements = [], length = arguments.length; i < length; i++)
elements.push($(arguments[i]));
return elements;
}
if (Object.isString(element))
element = document.getElementById(element);
return Element.extend(element);
}
我不同意这段代码已经得到了适当的优化,我肯定会这样写
function $(element) {
if (arguments.length > 1) {
let elements = [];
for (let i in arguments) elements.push($(arguments[i]));
return elements;
//or simply `return arguments;` without the loop and extra variable
}
return Object.isString(element) && (e = document.getElementById(element)), Element.extend(element)
}