Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中创建自己的类似jQuery的函数?_Javascript_Jquery - Fatal编程技术网

如何在JavaScript中创建自己的类似jQuery的函数?

如何在JavaScript中创建自己的类似jQuery的函数?,javascript,jquery,Javascript,Jquery,如何创建一个类似jquery回调的函数$ 假设我想调用id=“mydiv”的元素 我希望能像这样称呼它 var div = $("mydiv").value; 我认为函数应该是这样的 function $(element) { return document.getElementById(element); } 这是正确的方法,还是您更喜欢另一种方法来解决它?您可以用以下三种方法之一: 局部范围: function $(element) { return document.get

如何创建一个类似jquery回调的函数$

假设我想调用id=“mydiv”的元素

我希望能像这样称呼它

var div = $("mydiv").value;
我认为函数应该是这样的

function $(element)
{
  return  document.getElementById(element);
}

这是正确的方法,还是您更喜欢另一种方法来解决它?

您可以用以下三种方法之一:

局部范围

function $(element)
{
  return  document.getElementById(element);
}
window.$ = function(element)
{
  return  document.getElementById(element);
}

或者,如果需要在全局范围中定义它:

function $(element)
{
  return  document.getElementById(element);
}
window.$ = function(element)
{
  return  document.getElementById(element);
}

如果包含了
jQuery
,则在全局范围中定义
$
将覆盖它。使用可避免这种情况。

jQuery实际上返回一个自定义对象,因此您可以调用$('#id')。someJqueryFunction()。如果只需要document.getElementById的快捷方式

var $ = document.getElementById;

应该足够了。

所以,Bob过来查看一些落在他膝上的代码,发现它正在使用一个
$
函数。“%$@%!”,他叹了口气,“这是jQuery吗?不。也许prototype.js在那里的某个地方?哦,这是一个自定义例程。为什么人们不能给变量起个有用的名字?”如果你想缩短document.getElementById(“id”)的话,可以将函数命名为getElem(“id”)。我以前写过类似的东西,并为iframes等添加了可选的上下文参数。getElem(“id”,context)。这是在我发现jQuery之前。使用$只会让其他阅读你的代码的人感到困惑。在许多浏览器中都会失败。请记住,当您从对象提取方法,然后从现在未绑定的引用调用它时,
将不会设置此
。因此,调用
$
不会将正确的
文档
对象传递给
getElementById
函数。