zoukankan      html  css  js  c++  java
  • 2017 jq 总结

    $(el).parent()         获取父级元素

    .parents('th')        获取祖元素th

    .parentsUntil("th")         找到指定的祖元素,找不到则返回全部祖元素

    .children()       获取子元素

    .find(‘#main’)         查找该元素下的对应元素集合   ‘.main’  '[name="main"]'

    .prev()         向前查找相邻兄弟元素

    .prevAll()     向前查找所有兄弟元素
    .prevUntil("#a1")     向前查找兄弟元素,知道某个元素停止,不包含指定的那个元素 

    .next()        向后查找相邻兄弟元素

    .nextAll()        向后查找所有兄弟元素

    .nextUntil("#a3")        向后查找兄弟元素,直到某个元素停止,不包含指定的那个元素

    .siblings()         获取所有兄弟元素

    $(A).append("<p>Hello, World!</p>")         在A元素的内部的尾部添加元素p

    $(A).appendTo(B)        把A元素添加到B元素内部的尾部

    $(A).prepend(B)        在A元素内部的前面添加B

    $(A).prependTo(B);   把A元素添加到B元素的内部的前面

    $(A).after(B)   在A元素外部的后面添加B元素

    $(A).insertAfter(B)   把A元素添加到B元素的外部的后面

    $(A).before(B)   在A元素外部的前面添加B元素

    $(A).insertBefore(B)    把A元素添加到B元素的外部的前面

    remove()删除元素

    detach('p')移除所有 p 元素

    empty()   清空元素内的所有内容

    //remove  和 detach的区别 
    //remove 会移除元素和元素关联的事件
    //detach 只会移除元素

    clone(是否复制事件)        复制元素 ,true 复制事件 , false 不复制事件

    $(A).replaceWith(B)  用B元素替换A元素

    $(A).replaceAll(B)  用A元素替换B元素

    包裹元素

    $(A).wrap(B)  用B元素包裹每一个A元素

    $(A).wrapInner(B), 用B元素包裹每一个A元素里的内容

    .attr('checked')         获取元素属性

    .attr('checked', 'checked')         设置元素属性

    .removeAttr('checked')         移除元素属性

    .each(function(i,e){  })          循环遍历元素集合  i  下标  从0开始,e  元素
      终止循环需要  return false; 
    跳过本次循环  return true;
    加载事件---页面加载完成触发  
    window.onload = function(){
    alert("页面加载完成1");
      }
    $(document).ready(function(){
    alert("页面加载完成2");
    });
    window.onload 和 $(document).ready的区别是?
    window.onload不仅要等到网页上的元素加载完成,还要等待外部文件加载完成
    而$(document).ready 只需要等到网页上的元素加载完成,就能执行

    .click(function(){   })       点击事件

    .mousedown(function(){   })       鼠标按下事件

    .mouseup(function(){   })       鼠标松开事件

    .dblclick(function(){   })       鼠标双击事件

    .mouseenter(function(){   })       鼠标移入事件

    .mouseleave(function(){   })       鼠标移出事件

    .mouseover(function(){   })       鼠标移入事件

    .mouseout(function(){   })       鼠标移出事件

    .keydown(function(){   })       键盘按下事件

    .keyup(function(){   })       键盘松开事件

    .keypress(function(){   })       按键事件

    .focus(function(){   })       获得焦点事件

    .blur(function(){   })       失去焦点事件

    .change(function(){   })       文本值改变事件

    .select(function(){   })       选中事件

    .submit(function(){   })       提交事件

    .scroll(function(){   })       滚动条事件

    .off("click mouseover")       解除事件

    .one(function(){   })       一次性事件

    页面包含iframe时控制台调试js,需要使用

    JQ:$(window.frames[1].document).find("#Excel")

    JS:window.frames[1].document.getElementById('Excel')

    获取父窗体的元素
    $('#父窗体的元素', parent.document)

    产生固定位数的随机数

    function RndNum(n) {
    var rnd = "";
    for (var i = 0; i < n; i++)
    rnd += Math.floor(Math.random() * 10);
    return rnd;
    }

    input输入框设置为只能输入数字和小数点

    <input   onkeyup="$(this).val($(this).val().replace(/[^d.]/g, ''));"    type="text"  />      这个type必须为text,否则输入的内容有时会检测不到

    <input onkeyup="this.value=this.value.replace(/[^u4e00-u9fa5a-zA-Z0-9w]/g,'')">     过滤特殊字符

    <input type="text" maxlength="6" onblur="javascript: this.value=/^((d{1,4})|(d{1,4}.d{1,1}))$/.test(this.value) ? this.value :(/^(d{1,4}.)$/.test(this.value)? this.value+'0': '') " /> 这个比较全面

    获取字符串字节长度

    function(str) {
      return str.replace(/[u0391-uFFE5]/g,"aa").length;  //先把中文替换成两个字节的英文,在计算长度
    }; 

     复制对象

    //安全的json序列对象,只能复制键值对,不能复制函数

    JSON.parse(JSON.stringify(obj))

    //es6新增的内置方法复制对象  还没有接触过

    Object.assign({},obj1,obj2...)

    自定义属性

    var myObject = {

    // 给 a 定义一个getter

    get a() { return this._a_; },

    // 给 a 定义一个setter

    set a(val) { this._a_ = val * 2; }

    };

    获取浏览器窗口高度

    document.documentElement.clientHeight

    获取屏幕高度

    window.screen.availHeight

    注:上边两个高度并不会一直相等

    checkbox兼容问题,使用attr不能选中(jQuery更新到1.6.1后出现)

    $(this).is(":checked")//判断是否选中,返回bool类型
    $("[name=items]:checkbox").prop("checked", true);//设置为选中
    $("[name=items]:checkbox").prop("checked", false);//取消选中

    界面全屏

        $('.admin-side-full').on('click', function () {
            var docElm = document.documentElement;
            //W3C  
            if (docElm.requestFullscreen) {
                docElm.requestFullscreen();
            }
            //FireFox  
            else if (docElm.mozRequestFullScreen) {
                docElm.mozRequestFullScreen();
            }
            //Chrome等  
            else if (docElm.webkitRequestFullScreen) {
                docElm.webkitRequestFullScreen();
            }
            //IE11
            else if (elem.msRequestFullscreen) {
                elem.msRequestFullscreen();
            }
            layer.msg('按Esc即可退出全屏');
        });
    View Code

    向前补位

    Array(3 -('' + 23).length + 1).join(0) + 23

    ("000" + 23).substr(("" + 23).length)

    向后补位

    (23 + Array(3).join('0')).slice(0, 3)

    (23 + "000").substr(0,3)

    js  lambda操作

            //lambda数组过滤
    
            ArryList.filter(itmer => itmer == '1');
    
            //数组遍历
    
            var arr = [1,5,8,9,6,45,12,56];
            arr.map(x=>x*2)
    
            //使用iterable内置的forEach方法
    
            var a = ['A', 'B', 'C'];
            a.forEach(function (element, index, array) {
                // element: 指向当前元素的值
                // index: 指向当前索引
                // array: 指向Array对象本身
                alert(element);
            });
            //Set与Array类似,但Set没有索引,因此回调函数的前两个参数都是元素本身:
    
            var s = new Set(['A', 'B', 'C']);
            s.forEach(function (element, sameElement, set) {
                alert(element);
            });
            //Map的回调函数参数依次为value、key和map本身:
    
            var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
            m.forEach(function (value, key, map) {
                alert(value);
            });
            //for of循环:与java中的foreach类似:
    
            for (var x of a) {
                alert(x); // 'A', 'B', 'C'
            }
            //JS的默认对象表示方式为{}键值对方式,但是键都是字符串,所以引用了Map
    
            var m = new Map([['micheal',99],['bob',90],['baobao',100]]);
    
            m.get('micheal');
    
            //也可以这样:
    
            var m = new Map(); // 空Map m.set('Adam', 67); // 添加新的key-value m.set('Bob', 59); m.has('Adam'); // 是否存在key 'Adam': true m.get('Adam'); // 67 m.delete('Adam'); // 删除key 'Adam' m.get('Adam'); // undefined
    
            //Set 与java中的list相似吧但是值不重复,类型也多变;
    
            //add方法添加元素,
    
            var s = new Set([1, 2, 3, 3, '3']);
            s.add(4);s.delete(2);
    View Code

    监听resopnse

    $.ajaxSetup({complete:function(xhr){alert(xhr.responseText)}})

    .

    过滤特殊字符

  • 相关阅读:
    this
    git使用整个过程整理
    javaScript事件知识点
    charles-web端开发者实用功能点
    react native 添加第三方插件react-native-orientation(横竖屏设置功能 android)
    react native 运行项目下载gradle慢的解决办法
    移动端 滑动组件 slip
    高逼格 分页列表 bootstrap-table
    reactjs 接入数据模型以及markdown语法的支持
    react-native 环境搭建以及项目创建打包
  • 原文地址:https://www.cnblogs.com/GoCircle/p/6387113.html
Copyright © 2011-2022 走看看