js

jQuery和js 获取父级元素、子级元素、兄弟元素方法

早过忘川 提交于 2020-03-13 11:14:25
1.JS获取节点的方法 var a=document.getElementByIdxxxx("dom"); del_space(a); //调用清理空格的函数 var b=a.childNodes; //获取a的全部子节点 var c=a.parentNode; //获取a的父节点 var d=a.nextSbiling; //获取a的下一个兄弟节点 var e=a.previousSbiling; //获取a的上一个兄弟节点 var f=a.firstChild; //获取a 的第一个子节点 var g=a.lastChild; //获取a的最后一个子节点   //此函数用于删除空节点 function del_space(elem){     var elem_child=elem.childNodes; //得到参数元素的所有子元素 for(var i=0;i<elem_child.length;i++){       if(elem_child.nodeName=="#text"&&!/\S/test(elem_child.nodeValue)){           elem.removeChild(elem_child);       }     } } 2.jQuery 获取节点的方法     jQuery.parent(expr) 找父节点,可以传入expr进行过滤

js控制输入框

非 Y 不嫁゛ 提交于 2020-03-13 08:47:08
1、取消按钮按下时的虚线框 在input里添加属性值 hideFocus 或者 HideFocus=true 2、只读文本框内容 在input里添加属性值 readonly 3、防止退后清空的TEXT文档 <INPUT style="behavior:url(#default#savehistory)" type="text"> 也可以把style内容做为类引用,比如: .saveHistory{behavior:url(#default#savehistory)} <INPUT class="saveHistory" type="text"> 4、ENTER键可以让光标移到下一个输入框 <input onkeydown="if(event.keyCode==13)event.keyCode=9" > 5、只能为中文(有闪动),设定文本框只能输入中文 <input onkeyup="value=value.replace(/[ -~]/g,'')" onkeydown="if(event.keyCode==13)event.keyCode=9"> 6、只能为数字(有闪动),设定文本框只能输入数字 <input onkeyup="value=value.replace(/[^\d]/g,'')" onbeforepaste="clipboardData.setData('text'

JS时间操作

旧城冷巷雨未停 提交于 2020-03-13 05:43:25
获取时间: var myDate = new Date();//获取系统当前时间 获取特定格式时间: myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期 var mytime=myDate.toLocaleTimeString(); //获取当前时间 myDate.toLocaleString( ); //获取日期与时间 JS获取当前时间戳的方法 JavaScript 获取当前时间戳: 第一种方法: var

JS时间操作

只谈情不闲聊 提交于 2020-03-13 05:42:10
/** * 判断年份是否为润年 * * @param {Number} year */ function isLeapYear(year) { return (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0); } /** * 获取某一年份的某一月份的天数 * * @param {Number} year * @param {Number} month */ function getMonthDays(year, month) { return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] || (isLeapYear(year) ? 29 : 28); } /** * 获取某年的某天是第几周 * @param {Number} y * @param {Number} m * @param {Number} d * @returns {Number} */ function getWeekNumber(now) { year = now.getFullYear(), month = now.getMonth(), days = now.getDate(); //那一天是那一年中的第多少天 for (var i = 0; i < month; i++) {

JS-正则表达式对象/RegExp

不问归期 提交于 2020-03-13 00:59:13
正则表达式对象/RegExp 创建正则表达式 隐式创建 let regx = /正则表达式/修饰符 ---> /pattern/attributes // pattern(正则表达式) 是一个字符串,指定了正则表达式的模式或其他正则表达式。 /* attributes(修饰符) i: 执行对大小写不敏感的匹配。(忽略大小的匹配) g: 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 m: 执行多行匹配。 (用的很少,基本不会被用到) //书写修饰符的时候 没有顺序要求 igm img gim 都一样 一般我们都只使用ig 显示创建 let regx = new RegExp(pattern, attributes); // pattern(正则表达式) 是一个字符串,指定了正则表达式的模式或其他正则表达式。 // attributes(修饰符) // 注意:在使用显示创建正则表达式的时候注意使用元字符的时候要记得转移"\\d{4}" ​ 正则表达式的属性 /* 正则表达式的属性: 1 global / RegExp对象是否具有标志 g 2 ignoreCase / RegExp 对象是否具有标志 i 3 multiline / RegExp 对象是否具有标志 m 4 lastIndex / 一个整数,标示开始下一次匹配的字符位置 5 source / 正则表达式的源文本

js中复制功能总结

南楼画角 提交于 2020-03-13 00:29:27
目前copy主流有四种方式: ZeroClipboard , Clipboard.js , execCommand ,setData,clipboardData 概况: ZeroClipboard 就是常说的Flash法,通过加载一个Flash,让其访问系统剪贴板来绕过绝大多数系统的权限限制,然而体积稍微庞大些 Clipboard.js 近几年使用较多,体积相对小,兼容性可以接受,使用还比较方便。 execCommand 新兴势力,safari等主流正在努力兼容,是个好东西。 setData 太老。。一般不太用,基本只适合IE 兼容性: ZeroClipboard 兼容性最好,能全面兼容chrome/ FireFox/ IE/ 甚至Safari 这种“友好”的浏览器 Clipboard.js和execCommand兼容性相似,兼容chrome/ FF/ IE>9/ Safari新版(不太懂Safari版本号如何算。。感觉15年以后的都可以) setData 仅IE 体积: ZeroClipboard 插件较大,230KB Clipboard.js 较小,4KB execCommand是document方法,不用插件直接搞 虽说体积有差,加载起来速度差不多的其实。。话说git好像就是用的ZeroClipboard clipboardData对象

js 复制文本的四种方式

北城余情 提交于 2020-03-13 00:29:13
js 复制文本的四种方式 一、总结 一句话总结:js文本复制主流方法:document的execCommand方法 二、js 复制文本的四种方式 纯 转载复制,非原创 原地址:http://www.cnblogs.com/xhyu/p/5370111.html 目前copy主流有四种方式: ZeroClipboard , Clipboard.js , execCommand ,setData,再就是其他只支持IE的鸡肋法了不在此讨论。。 概况: ZeroClipboard 就是常说的Flash法,通过加载一个Flash,让其访问系统剪贴板来绕过绝大多数系统的权限限制,然而体积稍微庞大些 Clipboard.js 近几年使用较多,体积相对小,兼容性可以接受,使用还比较方便。 execCommand 新兴势力,safari等主流正在努力兼容,是个好东西。 setData 太老。。一般不太用,基本只适合IE 兼容性: ZeroClipboard 兼容性最好,能全面兼容chrome/ FireFox/ IE/ 甚至Safari 这种“友好”的浏览器 Clipboard.js和execCommand兼容性相似,兼容chrome/ FF/ IE>9/ Safari新版(不太懂Safari版本号如何算。。感觉15年以后的都可以) setData 仅IE 体积: ZeroClipboard

js 闭包原理

☆樱花仙子☆ 提交于 2020-03-12 22:15:50
闭包的定义: 闭包是指有权访问另一个函数作用域中的变量的函数 -- 《JavaScript 高级程序设计》。 如何理解这句话:其实就是指 在函数a外面能够访问函数a里面的函数b 。 例如: 1 function a () { 2 var v = 123; 3 function b() { 4 console.log(v); 5 } 6 return b; 7 } 8 9 var b = a(); 10 b(); // 123 执行函数a时把函数b返回,此时函数b就保存到了a的外面,这时候就可以在a函数的外部对b进行访问。 相关知识点: js作用域链 执行原理: 1、首先在预编译全局代码时,生成GO   GO {     a: function a() {...},     b: undefined   } 2、执行 var b = a(); 此时对a函数进行预编译并创建a 函数的AO   AO {     v: undefined,     a: undefined,     b: function b() {...}   } 3、创建a函数的作用域链   a.[[Scopes]] = [AO, GO]; 4、由于函数的提升,会在a函数进行预编译的时候创建b函数的AO   b AO {}   b.[[Scopes]] = [AO(b), AO(a), GO] 5、执行 var v

截取中文字符串的js方法

纵然是瞬间 提交于 2020-03-12 20:13:45
有时在显示某段文字的时候,可能会太长,影响我们页面的显示效果。如果仅是英文,那么我们可以用String.substring(start, end)函数就已经够用了。但是通常我们都会遇到既有英文,又有汉字的情况。而汉字是占用2个字节的,如果用String.substring(start, end)截取字符串的话,会发现汉字截取后比英文截取后个数虽然相同,但是长度还是长出去不少(具体要视字符个数来决定)。 为了解决这个问题昨天写了根据字节数截取字符串的函数。 具体使用很简单,跟String.subString(start, end)一样使用就可。比如:var str = "诶必塞第衣爱抚即"; var str1 = str.subCHStr(2, 2); var str2 = str.subCHString(2, 4); alert(str1 + " == " + str2); Code 1 Code 2 // 计算字符串长度 3 String.prototype.strLen = function () { 4 var len = 0 ; 5 for ( var i = 0 ; i < this .length; i ++ ) { 6 if ( this .charCodeAt(i) > 255 || this .charCodeAt(i) < 0 ) len += 2 ; else

JS 删除字符串最后一个字符的几种方法

a 夏天 提交于 2020-03-12 19:43:11
字符串:string s = "1,2,3,4,5," 1、用的最多的是Substring s=s.Substring(0,s.Length-1) 2、用 RTrim,原来只用来删除最后的空格,也没有仔细看过其它的用法,才发现可以直接trim掉一些字符 s=s.ToString().RTrim(',') 扩展 删除空格 function trim(str){ //删除左右两端的空格 return str.replace(/(^\s*)|(\s*$)/g, ""); } function ltrim(str){ //删除左边的空格 return str.replace(/(^\s*)/g,""); } function rtrim(str){ //删除右边的空格 return str.replace(/(\s*$)/g,""); } 3、用TrimEnd,这个东西和RTrim差不多,区别是这个传递的是一个字符数组,而RTrim可以是任何有效的字符串 s=s.TrimEnd(',') //如果要删除"5,",则需要这么写 char[]MyChar= {'5',','}; s=s.TrimEnd(MyChar); //s="1,2,3,4" 类似函数: TrimStart,LTrim等 还有一个TrimToSize对提高性能有微弱的好处.... string.TrimEnd()