zoukankan      html  css  js  c++  java
  • jQuery函数的等价原生函数代码示例

    选择器 
    jQuery的核心之一就是能非常方便的取到DOM元素。我们只需输入CSS选择字符串,便可以得到匹配的元素。但在大多数情况下,我们可以用简单的原生代码达到同样的效果。 

    .代码如下:

    //----得到页面的所有div--------- 
    /* jQuery */ 
    $("div") 
    /* 原生 */ 
    document.getElementsByTagName("div") 
    //----得到所有指定class的元素--------- 
    /* jQuery */ 
    $(".my-class") 
    /* 原生 */ 
    document.querySelectorAll(".my-class") 
    /* 更快的原生方法 */ 
    document.getElementsByClassName("my-class") 
    //----通过CSS选择得到元素---------- 
    /* jQuery */ 
    $(".my-class li:first-child") 
    /* 原生 */ 
    document.querySelectorAll(".my-class li:first-child") 
    //----得到指定clsss的第一个元素---- 
    /* jQuery */ 
    $(".my-class").get(0) 
    /* 原生 */ 
    document.querySelector(".my-class") 


    译者注:其实这里面是有些问题的,document.querySelectorAll和jQuery选择器还是有区别的,前者返回的是一个NodeList,而后者返回的是一个类数组对象。 
    DOM操作 
    jQuery还在DOM操作上频繁使用,例如插入或者删除元素。我们也可以使用原生方法来进行这些操作,你会发现这需要写额外的代码,当然也可以写自己的辅助函数来让使用起来更容易。下面是一些将元素插入到页面中的例子。 

    .代码如下:

    //----插入元素---- 
    /* jQuery */ 
    $(document.body).append("<div id='myDiv'><img src='im.gif'/></div>"); 
    /* 蹩脚的原生方法 */ 
    document.body.innerHTML += "<div id='myDiv'><img src='im.gif'/></div>"; 
    /* 更好的原生方法 */ 
    var frag = document.createDocumentFragment(); 
    var myDiv = document.createElement("div"); 
    myDiv.id = "myDiv"; 
    var im = document.createElement("img"); 
    im.src = "im.gif"; 
    myDiv.appendChild(im); 
    frag.appendChild(myDiv); 
    document.body.appendChild(frag); 
    //----前置元素---- 
    // 除了最后一行 
    document.body.insertBefore(frag, document.body.firstChild); 


    CSS classes 
    在jQuery中,我们可以很容易对DOM元素添加、删除、检查它的CSS class。幸运的是,利用原生方法也可以简单的办到。 

    .代码如下:

    // 得到DOM元素的引用 
    var el = document.querySelector(".main-content"); 
    //----添加class------ 
    /* jQuery */ 
    $(el).addClass("someClass"); 
    /* 原生方法 */ 
    el.classList.add("someClass"); 
    //----删除class----- 
    /* jQuery */ 
    $(el).removeClass("someClass"); 
    /* 原生方法 */ 
    el.classList.remove("someClass"); 
    //----是否是该class--- 
    /* jQuery */ 
    if($(el).hasClass("someClass")) 
    /* 原生方法 */ 
    if(el.classList.contains("someClass")) 


    修改CSS属性 
    总是通过Javascript修改和检索CSS属性,这样会比使用jQuery CSS函数更加简单快速,并且没有任何不必要的代码。 

    .代码如下:

    // 得到DOM元素引用 
    var el = document.querySelector(".main-content"); 
    //----设置CSS属性---- 
    /* jQuery */ 
    $(el).css({ 
    background: "#FF0000", 
    "box-shadow": "1px 1px 5px 5px red", 
    "100px", 
    height: "100px", 
    display: "block" 
    }); 
    /* 原生 */ 
    el.style.background = "#FF0000"; 
    el.style.width = "100px"; 
    el.style.height = "100px"; 
    el.style.display = "block"; 
    el.style.boxShadow = "1px 1px 5px 5px red"; 
  • 相关阅读:
    SQL Server 2005 学习笔记之触发器简介[转]
    什么是BCD 码
    关于C# 中的Attribute 特性
    也谈Asp.net 中的身份验证
    SQL Server 2005 创建分区表
    使用SerialPort 对象实现串口拨号器通信[下]
    子角色权限的实现
    SQL Server 中,实现 varbinary 与 varchar 类型之间的数据转换
    TSQL 常用排名函数
    关于ASP.NET 将数据导出成Excel 的总结[中]
  • 原文地址:https://www.cnblogs.com/sntetwt/p/3505011.html
Copyright © 2011-2022 走看看