Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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 java脚本用户定义类似jquery的$function_Javascript_Jquery - Fatal编程技术网

Javascript java脚本用户定义类似jquery的$function

Javascript java脚本用户定义类似jquery的$function,javascript,jquery,Javascript,Jquery,我正在尝试创建user define$函数,因为我无法在现有项目中使用Jquery 我希望将此函数作为Jquery$('ID')使用 请给我一些提示任何提示或例子 比如说 function $(element) { } var value = $('elementID').value 更新: 因为我有prototype.js function $(element) { if (arguments.length > 1) { for (var i = 0, elements

我正在尝试创建user define$函数,因为我无法在现有项目中使用Jquery

我希望将此函数作为Jquery$('ID')使用

请给我一些提示任何提示或例子 比如说

function $(element) {

}

var value = $('elementID').value
更新: 因为我有prototype.js

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);
}
函数$(元素){
如果(arguments.length>1){
对于(var i=0,elements=[],length=arguments.length;i
此处的工作演示:

您可以从以下内容开始:

function $(id) {
  return document.getElementById(id);
}
然而,你最终会发现这还不够好。事实证明,Internet Explorer(在旧版本中)也按名称返回值。换句话说,如果页面上有一个元素的“name”属性与您要查找的“id”匹配,那么您(可能)会得到它

因此,你实际上需要做更多的工作。我建议检查jQuery或Prototype的源代码,以找到聪明人处理该问题的最新方法。在jQuery中编辑wow相当复杂

  • 建议-检查jQuery源代码-可读性很强,会给您一个如何实现它的提示
  • 2.对于现代浏览器,您可以使用幕后操作实现此功能:

    var x =document.querySelector(selector)
    
    和查询选择器all(选择器)


    编辑:是-如果您只查找id,getElementById将起作用,如果您需要更复杂的css选择器,则可以使用此选项。jQuery在受支持时默认为querySelector

    如果只需要像jQuery这样的选择器,请使用Sizzle库:

    然后在代码中执行以下操作:

    var $ = Sizzle;
    
    现在您可以使用:

    $("selector");
    
    我的JS:


    我的DOM:

    <input id="someID">
    
    
    
    是的,我们使用的是prototype.jsWell如果您使用的是prototype,那么您已经获得了该函数;您不必做任何事情。因此
    Object.isString(元素)
    我不会使用
    element=document.getElementById(元素)在第一个条件下输入。否。因为我们使用的是自己的prototype.jsp,因为您使用的是prototype
    
    var $ = function(element) {
        element = document.getElementById(element);
        return {
            "0": element,
            "val": function(text) {
                if ( text ) {
                    console.log(this);
                    this[0].value = text;
                    return this;
                } else {
                    return this[0].value;
                }
            }
        };
    }
    
    onload = function() {
        var myElement = $("someID");
        alert(myElement.val("some value").val());
    }
    
    <input id="someID">