JS常用方法(获取Class、获取元素样式、事件监听、cookie、ajax等)
2016-12-09 12:09
801 查看
var Util = {}; Util.byClass = function (oClass) {//全局获取 var tags = document.all ? document.all : document.getElementsByTagName('*'); var arr = []; var reg = new RegExp("\\b" + oClass + "\\b"); for (var i = 0; i < tags.length; i++) { if (reg.test(tags[i].className)) { arr.push(tags[i]); } } return arr; }; Util.byClass2 = function (parentID, oClass) {//局部获取 var parent = document.getElementById(parentID); var tags = parent.all ? parent.all : parent.getElementsByTagName('*'); var arr = []; var reg = new RegExp("\\b" + oClass + "\\b"); for (var i = 0; i < tags.length; i++) { if (reg.test(tags[i].className)) { arr.push(tags[i]); } } return arr; }; Util.getStyle = function (obj, oStyle) {//获取元素的样式 if (obj.currentStyle) { return obj.currentStyle[oStyle]; } else { return getComputedStyle(obj, null)[oStyle]; } }; Util.addEvent = function (obj, type , fn) {//添加事件监听 if (obj.addEventListener) { obj.addEventListener(type, fn, false); } else if (obj.attachEvent) { obj.attachEvent('on' + type, fn); } else { obj['on' + type] = fn; } }; Util.removeEvent = function (obj, type, fn) {//删除事件监听 if (obj.removeEventListener) { obj.removeEventListener(type, fn, false); } else if (obj.detachEvent) { obj.detachEvent('on' + type, fn); } else { obj['on' + type] = null; } }; Util.getOffsetTL = function (obj) {//获取obj到body左右的offset值 var l = 0, t = 0; while (obj) { l = l + obj.offsetLeft + obj.clientLeft; t = t + obj.offsetTop + obj.clientTop; obj = obj.offsetParent; } return {left: l, top, t}; } Util.setCookie = function (key, val, days) { var dates = new Date(); dates.setDate(dates.getDate() + days); document.cookie = key + '=' + escape(val) + '; expires=' + dates; }; Util.getCookie = function (key) { var arr1 = document.cookie.split('; '); for (var i = 0; i < arr1.length; i++) { var arr2 = arr1[i].split('='); if (arr2[0] == key) { return unescape(arr2[1]); } } return false; }; Util.removeCooie = function (key) { Util.setCookie(key, 'aaa', -1); }; Util.ajax = function (url, successFn, failureFn) { var xhr = null; if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { xhr = new ActiveXObject('Microsoft.XMLHTTP'); } xhr.open('get', url, true); xhr.send(null); xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status == 400) { successFn(xhr.responsText); } else { if (failureFn) { failureFn(); } else { alert(xhr.status); } } } } }
相关文章推荐
- js 获取当前焦点所在的元素、给元素和input控件添加键盘监听事件、添加页面级的键盘监听事件
- js获取元素的外链样式的简单实现方法
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
- 原生js获取浏览器窗口及元素宽高常用方法集合
- js获取元素外链样式的方法
- JS获取元素样式、绑定解除事件函数兼容
- js 获取class的元素的方法 以及创建方法getElementsByClassName
- 使用ajax后获取元素的方法以及事件委托的使用
- 前端知识点整理之表单输入事件的兼容写法,js常用关键字,获取标签元素的写法
- js 一段代码获取元素class样式
- 一些常用的JS (JONEAjax) 获取dom 对象,ajax操作,读写cookie
- js通过class获取元素的方法
- js中两个常用方法(1.获取当前工程的虚拟目录;2.移除数组指定位置上的元素)
- JS获取触发事件元素的方法
- js 如何获取class的元素 以及创建方法getElementsByClassName
- js获取元素样式方法
- js获取元素外链样式的方法
- 中高级前端应该必会,js实现事件委托代理、切换样式、元素获取相对于文档位置等
- 常用的4种获取元素方法的区别, getElementById, ..ClassName, ..TagName, .Name
- js监听滚动条事件和获取浏览器及屏幕高度和宽度等信息的方法