• 49 jQuery 文档操作


    主要内容:

    1  append操作      : 添加到指定元素的后面     

     prepend操作  : 添加到指定元素内部的前面

      1 )语法 : $(A).append(B)            //  把b追加到a的内部

          $(A).appendTo(B)         //  把a追加到b的内部

    var liele = document.createElement('li');
    liele.innerText = '444';
    $('[type="none"]')
    $('[type="none"]').append(liele)
    

    2  after操作     : 添加到指定元素外部的后面

        before操作  : 添加到指定元素外部的前面

      1 )语法:   $(A).after(B)            //  把b放在a的后面

           $(A).afterTo(B)        //  把a放在b的后面

    u3ele = document.createElement('ul');
    u3ele.innerText = 'this 标签'
    $('ul').before(u3ele)
    

    3 替换操作  :replaceWith/replaceAll

      1)语法:   $(A).replaceWith(B)   // b替换a

    aele = document.createElement('a');
    
    $(aele).attr('href','http://www.sogo.com')   给dom对象设置属性, 需要把dom对象转换成jQuery对象
    
    aele.innerText = 'sogo'
    
    $('ul').replaceWith(aele)

    4 克隆clone()

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta http-equiv="content-Type" charset="UTF-8">
        <meta http-equiv="x-ua-compatible" content="IE=edge">
        <title>Title</title>
        <script src="jquery-3.3.1.min.js"></script>
    </head>
    <body>
    <input type="button" value="屠龙宝刀,点击就送">
    <script>
        $("[type='button']").click(function () {
            //自己复制自己, 然后把复制的结果加入到我的后面
            $(this).clone(true).insertAfter(this);
            // 如果clone里面不加ture, 则复制的结果不能再次复制
                                        注意参数true,加上true会把标签绑定的事件也复制 }) // $("[type='button']").clone().insertBefore() </script> </body> </html>

    5  移除和清空操作

    $('.u1').empty()
    
    $('#u1').prev().remove()
    

    6  事件委托

      1 ) 定义:    事件委托就是利用事件冒泡原理实现的!
      2 ) 事件冒泡:就是事件从最深节点开始,然后逐步向上传播事件;
      例:页面上有一个节点树,div > ul  > li  >  a
    比如给最里面的a 加一个click 事件,那么事件就会一层一层的往外执行,执行顺序 a > li > ul > div,  有这样一个机制,当我们给最外层的div 添加点击事件,那么里面的ul , li  , a  做点击事件的时候,都会冒泡到最外层的div上,所以都会触发,这就是事件委托,委托他们父集代为执行事件;
        事件冒泡的例子:
    <body>
        <div class="d1">
            <p class="p1">
                <span class="s1">div>span</span>
            </p>
        </div>
        <script>
            //  $('.d1').click(function () {
            //     console.log(alert(789))
            // });
            //  $('.p1').click(function () {
            //     console.log(alert(456))});
             $('.s1').click(function (e) {
                console.log(alert(123));
            //      e.stopPropagation()
            // //     阻止事件向上传递
            });
        </script>
    </body>
    </html>
    

      3 ) 事件委托的例子

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta http-equiv="content-Type" charset="UTF-8">
        <meta http-equiv="x-ua-compatible" content="IE=edge">
        <title>Title</title>
        <script src="jquery-3.3.1.min.js"></script>
    </head>
    <body>
        <input type="button" class="b1" value="点我">
    
        <script>
            $('body').on('click','.b1',function () {
                console.log(alert(123))
            });
            buttonele = document.createElement('button');
            buttonele.innerText = '点我1';
            $(buttonele).addClass('b1');
            $('body').append(buttonele)
    
        //    由于先绑定事件, 后再添加jQuery, 当刷新页面的时候,点击点我1 是不会被绑定事件的.
            //由此引出事件冒泡: 当给最外层事件添加事件时, 点击最里面的事件都会冒泡到最外层事件, 所以都会触发, 这就是事件委托,委托他们父级代为执行
            //所以用到on
            // $('body').on('click','.b1',function () {
            //     console.log(alert(123))
            // });
        </script>
    </body>
    </html>
    

      

      

  • 相关阅读:
    L84
    L83
    T57
    T56
    Listen 82
    Listen81
    PyQt(Python+Qt)学习随笔:QListView的isWrapping属性
    PyQt(Python+Qt)学习随笔:QListView的movement属性
    PyQt(Python+Qt)学习随笔:QListView的gridSize属性
    第15.20节 PyQt(Python+Qt)入门学习:QColumnView的作用及开发中对应Model的使用
  • 原文地址:https://www.cnblogs.com/gyh412724/p/9629386.html
Copyright © 2020-2023  润新知