$(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-9\w]/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即可退出全屏');
});

向前补位

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 == '');

        //数组遍历

        var arr = [,,,,,,,];
arr.map(x=>x*) //使用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([[, 'x'], [, 'y'], [, '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',],['bob',],['baobao',]]); 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([, , , , '']);
s.add();s.delete();

监听resopnse

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

.

过滤特殊字符

2017 jq 总结的更多相关文章

  1. JQ版本对比

    JQ不知不觉来到第三版了,那么它们有什么不同呢? 下面先给大家推一个CDN加速的网站,上面有各种JQ的版本:http://www.bootcdn.cn/jquery/ 先来对比一下它们的“体重”,23 ...

  2. 2017.12.21-JQuery

    作业:密码加强验证 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> & ...

  3. 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛

    Banana Bananas are the favoured food of monkeys. In the forest, there is a Banana Company that provi ...

  4. CI Weekly #10 | 2017 DevOps 趋势预测

    2016 年的最后几个工作日,我们对 flow.ci Android & iOS 项目做了一些优化与修复: iOS 镜像 cocoapods 版本更新: fir iOS上传插件时间问题修复: ...

  5. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS

    一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...

  6. iOS的ATS配置 - 2017年前ATS规定的适配

    苹果规定 从2017年1月1日起,新提交的 app 不允许使用NSAllowsArbitraryLoads来绕过ATS(全称:App Transport Security)的限制. 以前为了能兼容ht ...

  7. 深入研究Visual studio 2017 RC新特性

    在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...

  8. Xamarin+Prism开发详解三:Visual studio 2017 RC初体验

    Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...

  9. jq选择器基础

    Jquery $代表选择器 使用jq必须要导入jq文件 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js&qu ...

随机推荐

  1. BAT等公司必问的8道Java经典面试题,你都会了吗?

    工作多年以及在面试中,我经常能体会到,有些面试者确实是认真努力工作,但坦白说表现出的能力水平却不足以通过面试,通常是两方面原因: 1.“知其然不知其所以然”.做了多年技术,开发了很多业务应用,但似乎并 ...

  2. oracle表空间到32G后扩容

    ), ) total_space FROM dba_data_files ORDER BY tablespace_name; /*查看表空间的使用情况*/ select a.a1 表空间名称, tru ...

  3. 安装和使用 PyInstaller 遇到的问题

    写在前面 在学习 Python语言程序设计 的时候,其中有一节课提到了 PyInstaller 第三方库.PyInstaller 可以用来打包 python 应用程序,打包完的程序就可以在没有安装 p ...

  4. POJ.3321 Apple Tree ( DFS序 线段树 单点更新 区间求和)

    POJ.3321 Apple Tree ( DFS序 线段树 单点更新 区间求和) 题意分析 卡卡屋前有一株苹果树,每年秋天,树上长了许多苹果.卡卡很喜欢苹果.树上有N个节点,卡卡给他们编号1到N,根 ...

  5. (转)话说C语言const用法

    const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰 的对象为常量(immutable). 我们来分情况看语法上它该如何被使用. 1.函数体内修饰局部变量. 例: void ...

  6. Python word_cloud 部分文档翻译 标签云系列(二)

    转载地址:https://zhuanlan.zhihu.com/p/20436581上文末尾提到 Python 下还有一款词云生成器.amueller/word_cloud · GitHub 可以直接 ...

  7. python的tuple()元组数据类型的使用方法以及案例

    一.元组的概念介绍 1.元组是列表的二次加工 列表可以被修改 列表的类型 list li = [1,2,3,4,5,6] 2.元组的元素不可被修改,不能被增加或者删除,(只是针对元组的一级元素是不可以 ...

  8. Git3:Git分支

    目录 一.概念 二.创建与合并分支 1.创建分支原理分析 2.创建分支语法 三.解决冲突 四.分支管理策略 1.保留分支历史 2.分支管理原则 五. bug分支 六.推送和拉取远程分支 一.概念 分支 ...

  9. MVVM实战

    1.层次依赖 - (UIViewController *)createInitialViewController { self.viewModelServices = [RWTViewModelSer ...

  10. nandflash,norflash,sdram,emmc,rom,ram等各种存储器识别

    老是被nandflash,norflash,sdram,emmc,rom,ram搞混,所以在这里总结一下,也为了更好的分清他们之间的关系,以至于别人问的时候不至于说不清. 我们不谈这些名次的由来,只说 ...