2017 jq 总结

摘要:
$.parent()获取父级元素.parents获取祖元素th.parentsUntil找到指定的祖元素,找不到则返回全部祖元素.children()获取子元素.find查找该元素下的对应元素集合‘.main’'[name="main"]'.prev()向前查找相邻兄弟元素.prevAll()向前查找所有兄弟元素.prevUntil向前查找兄弟元素,知道某个元素停止,不包含指定的那个元素.next()向后查找相邻兄弟元素.nextAll()向后查找所有兄弟元素.nextUntil向后查找兄弟元素,直到某个元素停止,不包含指定的那个元素.siblings()获取所有兄弟元素$.append("Hello,World!

$(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 (varx 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)}})

.

过滤特殊字符

免责声明:文章转载自《2017 jq 总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇批量处理sql 数据存入xml类型列卷积和下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

ABB机器人功能程序(FUNC)

功能程序的应用范围非常广泛。熟练的人员可以根据不同的需求创建相应的功能程序。函数程序的固定格式是FUNC,返回结束。在ABB的学习中,许多学生对功能程序几乎一无所知,即使他们真的在使用它。在学习ABB的过程中,我遇到了几个用例,所以我总结了它们以加深我的理解。...

「雕爷学编程」Arduino动手做(26)——4X4矩阵键盘模块

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。108种传感器模块系列实验实验二十六:4X4矩阵键盘模块矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组。工作原理矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。矩阵键盘所需库文件在ArduinoIDE1.8.0...

DB2字符函数简介及使用

Param2可以是编码单元16-16位UTF-16编码,也就是说,字符串表示为16位UTF-18编码字符串。Codeunits32-32位UTF-32编码,即字符串表示为32位UTF 32编码字符串。请注意,定义为FORBITDATA的字符串不能转换为图形字符。如果length<length,则来自的原始字符串短于结果中的长度。...

springMVC使用map接收入参 + mybatis使用map 传入查询参数

测试示例:控制器层使用映射来接收请求参数。从Debug中可以看到,请求中的参数值都是字符串形式。如果接收参数的映射直接传输到服务,mybatis将在接收参数时报告错误。因此,您需要首先对请求中的参数1packageorg.slsale进行预处理。测验23导入java.util。日期4导入java.util。HashMap;5导入java.ut...

java android 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC

主要用于西门子PLC的M、Q、I、DB块的数据读写。该组件支持快速建立高性能Modbus TCP终端。对于日志记录,暂时只保留接口。具体来说,您可以为该组件支持的西门子通信实现两种协议。一种是S7协议,它几乎不需要PLC侧的参数配置。另一个是Fetch/Write协议,它有点麻烦。如果S7不方便阅读,您可以选择“获取/写入”。S7更方便。...

Matlab自定义函数的五种方法 [转]

子函数lfg2只能被主函数和主函数中的其他子函数调用。特点是,它是基于Matlab的数值运算内核的,所以它的运算速度较快,程序效率更高。...