zoukankan      html  css  js  c++  java
  • jQuery基础

    最近在做项目的过程中,前端的部分做起来很吃力,很大一部分原因就是jQuery部分知识不够熟练,会的太少

    所以我决定从头再学一遍。。。

    这一篇随笔先用于写jQuery的基础,我会在下一篇写jQuery'的应用,比如调用ajax,遍历表格等等

    首先,什么是jQuery?[・_・?]

    jQuery 是一个javascript库,jQuery极大地简化了javascript编程

    要使用jQuery,我们必须要向页面引用jQuery库,一般写法:

    1 <script type= "text/javascript" src="你要引的jquery文件名"><script>
    2 <script>
    3      jQuery初始化方法{
    4         你要写的jQuery代码
    5     });
    6 </script>    

    jQuery有三种初始化方法:

     1 第一种:
     2 $(document).ready(function(){
     3     xxxxxxxxxxxxxxxxxx;
     4 });
     5 
     6 第二种:
     7 $(function(){
     8     xxxxxxxxxxxxxxxxxx;
     9 });
    10 
    11 第三种:
    12 jQuery(function($){
    13     xxxxxxxxxxxxxxxxxx;
    14 });

    这三种方法效果是一样的,选任意一种使用都可以,但是千万不能忘记写。

    jQuery选择器

    jQuery代码简便的很大原因就是可以直接选中你想要操作的对象,太方便了有没有!φ(>ω<*) 

    jQuery的选择器有三种,元素选择器、属性选择器和CSS选择器

    下面举几个栗子:

    元素选择器栗子:

     1 $("p")  选取所有<p>标签元素
     2 $("p.skr")  选取所有class为"skr"的<p>标签元素
     3 $("p#skrskr")  选取所有id为"skrskr"<p>标签元素
     4 $("p:first") 第一个<p>标签元素
     5 $("p:last") 最后一个<p>标签元素
     6 $("tr:even") 所有奇数<tr>元素
     7 $("tr:odd")所有偶数<tr>元素
     8 
     9 
    10 $(this) 选中当前元素
    11 $(ul li:first) 每个<ul> 第一个<li>元素
    12 $("[href$='.jpg']") 所有以jsp结尾的href属性

    属性选择器栗子:

    1 $("[href]") 选取所有带href属性的元素
    2 $("[href = 'xxx']") 选取所有带href属性且值为xxx的元素
    3 $("[href != 'xxx']") 选取所有带href属性且值不为xxx的元素
    4 $("[href$='.jpg']") 选取所有带href值以jsp结尾的元素

    CSS选择器栗子:

    $("p").css("background-color","red");

    jQuery事件

    既然已经选中了这些标签,接下来当然就是对他们搞事情啦~

    以点击按钮事件为例:

     1 <script type="text/javascript" src = "jquery.js"></script>
     2 <script>
     3     $(document).ready(function(){
     4         $("button").click(function(){
     5             alert("啊啊啊啊啊啊啊啊啊啊啊啊!")
     6         });
     7     });
     8 </script>  
     9 
    10 <button>xxx</button>
    11           

    在实际开发中,由于有很多重复的标签,所以用class或者id多一点(因为我们可以给指定标签赋奇怪的名字以免重复)

    接下来列举一些基础的事件触发方法:

     1 change() 触发、或将函数绑定到指定元素的onchange 事件(改变)
     2 click() 触发、或将函数绑定到指定元素的cllick 事件(点击)
     3 dblclick() 触发、或将函数绑定到指定元素的declick 事件(双击)
     4 keydown()按下按键
     5 keyup()按钮被松开时
     6 该事件适用于任何带有url的元素(改变事件)
     7 mousedown()按下鼠标按钮时
     8 mouseenter()当鼠标指针进入(穿过)元素时,改变
     9 mouseleave()当鼠标指针离开元素时,改变
    10 mousemove()获得鼠标指针在页面中位置
    11 mouseout()当鼠标从元素上移开时,改变
    12 mouseover()当鼠标指针位于元素上方时,改变
    13 mouseup()当松开鼠标按钮时
    14 submit()提交表单
    15 toggle()方法将切换所有元素
    16 unload()当用户点击链接离开本页时,只应用于window对象

     其中 toggle() 和 slideToggle都可以实现一个元素的隐藏/实现,用法相同。

     但是区别是:toggle:动态效果为从右至左。横向动作。

          slideToggle:动态效果从下至上。竖向动作。

    除此之外还有 bind() 方法,bind() 方法为被选中元素添加一个或者多个事件处理程序,并规定事件发生时运行的函数

    用法:$(selector).bind( event ,data,function );

    栗子:

     1 //先定义一个按钮和一个p
     2 <p>xxxxxxxxxxxx</p>
     3 <button>点我</button>
     4 
     5 //绑定一个方法:
     6 $("button").bind("click",function(){
     7    $("p").slideToggle(); 
     8 });
     9 
    10 //绑定多个方法:
    11 $("button").bind({
    12     click : function(){$("p").slideToggle();},
    13     mouseover : function(){$("p").css();},
    14     dblclick : function(){$("p").attr();},
    15     ...................
    16 });

    jQuery效果:

    主要是hide(),show(),toggle().下面还是举几个栗子

     1 假装有个<img id="hide">
     2 下面用于控制这个图片的显示或是淡出
     3 $("#hide").hide()
     4 $("#hide").show()
     5 我们也可以向 hide() 和 show()添加参数,来控制它如何显示,淡出:
     6 $(selector).hide(speed,callback);
     7 $(selector).show(speed,callback);
     8 可选的speed参数规定隐藏/显示的速度,可以取:"slow","fast"或毫秒
     9 可选的callback参数是隐藏或显示完成后所执行的函数名称
    10 
    11 toggle():
    12 toggle()方法来切换hide()和show()方法(状态)
    13 显示被隐藏元素,并隐藏已经显示的元素
    14 $("button").click(function(){
    15                 $("p").toggle();
    16             });
    17 
    18 语法:
    19 $(selector).toggle(speed,callback);
    20 可选的speed参数规定隐藏/显示的速度,可以取"slow","fast"或毫秒
    21 可选的callback参数是toggle()方法完成后所执行的函数名称
    22 
    23 还有fadeIn(),fadeOut()让元素逐渐消失,用法与上面类似

    jQuery HTML

    (1)获取内容和属性:

    text() --> 设置或返回所选元素文本内容

    html() --> 设置或返回所选元素内容(包括html标记)

    val() --> 设置或返回所选元素的值

    栗子:

    1 $("#btn1").click(function(){
    2    alert("text:"+$("#text").text());
    3  });
    4 $("#btn2").click(function(){
    5    alert("html:"+$("#text").html());
    6  });
    7 $("#btn1").click(function(){
    8    alert("value:"+$("#text").val());
    9  });

    在开发时,时常会用到选中元素的val()进行判断,在进行下一步操作

    (2)获取属性 - attr()

    attr()用于获取标签的属性值或是给标签的属性赋值

    栗子:

    $("#btn1").click(function(){
         alert("text:"+$("#text").text(“aaaa”));
     });
    $("#btn2").click(function(){
         alert("html:"+$("#text").html(“aaaa”));
     });
    $("#btn1").click(function(){
         alert("value:"+$("#text").val(“aaaa”));
     });
    $("#btn1").click(function(){
         $("#text").attr("id","xxx")); 
        //使用attr给属性赋值时要考虑标签是否有想要添加的属性(html5中很多属性失效了,造成报错)
     });

    (3)添加元素

    append() - 在被选元素的结尾插入内容
    $("p").append("aaaaaaaaaa");
    
    prepend() - 在被选元素开头插入内容
    $("p").prepend("aaaaaaaaaa");

    after() - 在被选元素之后插入内容
    $("img").after("aaaaaaaa");
    
    before() - 在被选元素之后插入内容
    $("img").before("aaaaaaaa");

    after和before较为常用,所以只有这两个的栗子
    1 function afterText(){
    2        var txt1 = "<p>Text</p>";   以html创建新元素
    3        var txt2 = $("<p></p>").text("Text.");    以jQuery创建新元素
    4        var txt3 = document.createElement("p");    以DOM创建新元素
    5        txt3.innerHTML"Text.";
    6        $("p").after(txt1,txt2,txt3);    p之后插入新元素
    7 }

     jQuery还支持链式调用,写法类似lamada表达式:

    1 $('a').attr('target', '_blank')
    2       .append(' <i class="uk-icon-external-link"></i>')
    3       .click(function () {});
    除此之外还有each()方法用于循环,$.ajax{}用于异步传值,select动态选取等等
    这部分真的是一言难尽,所以就决定写在下一篇随笔了!
    以上就是个人总结的jQuery基础部分,希望能带给你帮助~



  • 相关阅读:
    20171104 DOI Excel 导出
    ABAP 字符串处理
    SE80 开发对象
    ABAP开发中message dump
    物料单位转换的两个函数
    ABAP 多行消息分别显示弹窗
    隐藏你写的程序代码
    学习笔记:Javascript 变量 包装对象
    访问平安银行网站时出现证书问题 NET::ERR_CERT_SYMANTEC_LEGACY
    关于跨域问题
  • 原文地址:https://www.cnblogs.com/guojia314/p/9704449.html
Copyright © 2011-2022 走看看