• [转]你不需要jQuery


    完全没有否定jQuery的意思,jQuery是一个神奇的、非常有用的工具,可以节省我们大量的时间。

    但是,有些时候,我们只需要jQuery的一个小功能,来完成一个小任务,完全没有必要加载整个jQuery程序库。下面是一些用简单JavaScript实现jQuery功能特征的代码汇总。当然,这个汇总并不完全,你最好还是看一下《你不需要jQuery(一)

    查找搜索(选择器)

    按ID查找:

    $('#foo')
    document.getElementById('foo')

    获取Html内容:

    $(el).html();
    el.innerHTML;

    获取属性值:

    $(el).attr('tabindex');
    el.getAttribute('tabindex');

    按class名搜索:

    $('.bar')
    document.getElementsByClassName('bar')

    按标记名搜索:

    $('span')
    document.getElementsByTagName('span')

    按子元素搜索:

    $('#foo span')
    document.getElementById('foo').getElementsByTagName('span')

    搜索特殊元素:

    $('html')
    document.documentElement
    
    $('head')
    document.head
    
    $('body')
    document.body

    元素属性操作

    获取/设置HTML:

    $('#foo').html()
    document.getElementById('foo').innerHTML
    
    $('#foo').html('Hello, world!')
    document.getElementById('foo').innerHTML = 'Hello, world!'

    添加/删除/搜索判断class:

    $('#foo').addClass('bar')
    document.getElementById('foo').className += ' bar '
    
    $('#foo').removeClass('bar')
    document.getElementById('foo').className = document.getElementById('foo').className.replace(/bar/gi, '')
    
    $('#foo').hasClass('bar')
    document.getElementById('foo').className.search(/bar/gi) !== -1

    元素值:

    $('#foo').val()
    document.getElementById('foo').value

    特效

    隐藏/显示操作:

    $('#foo').show()
    document.getElementById('foo').style.display = ''
    
    $('#foo').hide()
    document.getElementById('foo').style.display = 'none'

    修改CSS样式:

    $('#foo').css('background-color', 'red')
    document.getElementById('foo').style.backgroundColor = 'red'

    事件

    页面加载完成(ready)

    在jQuery里,我们最常使用的是$(document).ready。对于它,下面是替换方法:

    document.onreadystatechange = function() {
        if (document.readyState === 'complete') {
            // DOM is ready!
        }
    };

    点击事件

    $('#foo').click(function() { ... })
    document.getElementById('foo').onclick = function() { ... }

    AJAX

    这个技术我们以后有一篇文章会单独介绍。这里只点一下,就是用fetch()方法。

    工具类技术

    分析JSON:

    jQuery.parseJSON(json)
    JSON.parse(json)
     

    总结

    从上面的代码,我们可以看出,jQuery里的很多功能都可以用很多简单的JavaScript代码实现。jQuery虽然很好用,但它有体积的负担,如果遇到一个问题,你可以用简单的代码实现,而不用去加载jQuery,这岂不是更高效,更实用的方法吗?

    转自:http://www.webhek.com/you-do-not-need-jquery2

  • 相关阅读:
    对于线程同步的浅薄理解
    线程安全之ConcurrentQueue<T>队列
    关于mybatis拦截器,对结果集进行拦截
    oracle 分析函数
    C# ikvm 运行htmlunit Provider com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl not found
    IronJs 无相关源?
    js div 内容显示分页
    JavascriptTAB切换 AND JqueryTAB切换
    php中mysql数据库操作类 -李盛鹏 -博客园
    sublime text 之snippet功能的使用 -李盛鹏 -博客园
  • 原文地址:https://www.cnblogs.com/relax/p/5018288.html
Copyright © 2020-2023  润新知