美文网首页我爱编程
jQuery学习笔记(一)

jQuery学习笔记(一)

作者: sjaljlajslkf | 来源:发表于2018-03-30 16:57 被阅读20次

    jQuery 语法

    jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。

    基础语法: $(selector).action()

    美元符号定义 jQuery
    选择符(selector)"查询"和"查找" HTML 元素
    jQuery 的 action() 执行对元素的操作

    实例:

    • $(this).hide() - 隐藏当前元素

    • $("p").hide() - 隐藏所有 <p> 元素

    • $("p.test").hide() - 隐藏所有 class="test" 的 <p> 元素

    • $("#test").hide() - 隐藏所有 id="test" 的元素

    文档就绪事件

    $(document).ready(function(){
     
       // 开始写 jQuery 代码...
     
    });
    

    这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码,即在 DOM 加载完成后才可以对 DOM 进行操作。
    如果在文档没有完全加载之前就运行函数,操作可能失败。

    jQuery事件

    • 鼠标事件
      click(), 鼠标点击
      dblclick(), 双击
      mouseenter(),鼠标移入
      mouseleave(),鼠标移开
    • 键盘事件
      keypress(),按键时触发
      keydown(),按下时触发
      keyup(),松开时触发
    • 表单事件
      submit(),提交时
      change(),value改变时
      focus(),成为焦点时
      blur(),失去焦点时
    • 文档、窗口事件
      load(),记载完成时
      如:
    $(document).ready(function(){
      $("img").load(function(){
        alert("图片已载入");
      });
    });
    

    resize(),重置窗口大小
    scroll(),滚动时

    toggle(),切换隐藏、显示状态。

    点击展示 淡入/淡出 面板

    $("#div1").fadeIn();
    $("#div2").fadeIn("slow");
    $("#div3").fadeIn(3000);

    动画

    $("button").click(function(){
      var div=$("div");
      div.animate({height:'300px',opacity:'0.4'},"slow");
      div.animate({width:'300px',opacity:'0.8'},"slow");
      div.animate({height:'100px',opacity:'0.4'},"slow");
      div.animate({width:'100px',opacity:'0.8'},"slow");
    });
    

    带回调的动画

    $("button").click(function(){
      $("p").hide("slow",function(){
        alert("段落现在被隐藏了");
      });
    });
    

    节点操作

    $("#runoob").attr("href") 获取href属性
    $("#runoob").val() 获取value
    $("#runoob").text() 获取文本
    $("#runoob").html() 获取html

    设置节点内容:

    $("#btn1").click(function(){
        $("#test1").text("Hello world!");
    });
    $("#btn2").click(function(){
        $("#test2").html("<b>Hello world!</b>");
    });
    $("#btn3").click(function(){
        $("#test3").val("RUNOOB");
    });
    

    带回调的设置节点:
    上面的三个 jQuery 方法:text()、html() 以及 val(),同样拥有回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。

    //i是被选元素列表中当前元素的下标,我们获取的元素可能有多个
    $("#test1").text(function(i,origText){
            return "旧文本: " + origText + " 新文本: Hello world! (index: " + i + ")"; 
        });
    

    设置属性:

    $("#runoob").attr("href","http://www.runoob.com/jquery");
    
    //设置多个属性
    $("#runoob").attr({
            "href" : "http://www.runoob.com/jquery",
            "title" : "jQuery 教程"
        });
    
    //带回调的
     $("#runoob").attr("href", function(i,origValue){
        return origValue + "/jquery"; 
      });
    

    添加元素

    function appendText(){
        var txt1="<p>文本。</p>";              // 使用 HTML 标签创建文本
        var txt2=$("<p></p>").text("文本。");  // 使用 jQuery 创建文本
        var txt3=document.createElement("p");
        txt3.innerHTML="文本。";               // 使用 DOM 创建文本 text with DOM
        $("body").append(txt1,txt2,txt3);        // 追加新元素
    }
    
    $("img").after("在后面添加文本");
    $("img").before("在前面添加文本");
    
    那有木有考虑过append/prepend和after/before有什么区别呢?

    append

    <p>
      <span class="s1">s1</span>
    </p>
    <script>
    $("p").append('<span class="s2">s2</span>');
    </script>
    

    结果是这样的:

    <p>
      <span class="s1">s1</span>
      <span class="s2">s2</span>
    </p>
    

    -----------------分割线---------------------------
    after

    <p>
      <span class="s1">s1</span>
    </p>
    <script>
    $("p").after('<span class="s2">s2</span>');
    </script>
    

    结果是这样的:

    <p>
      <span class="s1">s1</span>
    </p>
    <span class="s2">s2</span>
    

    总结:

    append/prepend 是在选择元素内部嵌入。

    after/before 是在元素外面追加。

    相关文章

      网友评论

        本文标题:jQuery学习笔记(一)

        本文链接:https://www.haomeiwen.com/subject/gificftx.html