Javascript——dom常用操作-- date操作

    var Dates = {
        //补位
        digit: function (m) {
            return +m < 10 ? ‘0‘ + m : m;
        },
        //日期格式化可date可是数组也可以是字符串
        parse: function (date, format) {
            var _index = 0;
            if (typeof date == ‘string‘) date = this.toarry(date);
            if (date == null) return ‘‘;
            //console.log(date);
            format = format || ‘YYYY-MM-dd HH:mm:ss‘;
            return format.replace(/YYYY|MM|dd|HH|mm|ss/g, function (str, index, s) {
                return Dates.digit(date[_index++]);
            });
        },
        //获指定日期
        now: function (timestamp, format) {
            var _parsestr, _date = new Date((timestamp | 0) ? function () {
                var _datenow = new Date();
                if (timestamp >= 86400000) {
                    return timestamp + _datenow.getHours() * 3600000 + _datenow.getMinutes() * 60000 + _datenow.getSeconds() * 1000;
                }
                return 86400000 * timestamp + _datenow.getTime();
            }(timestamp) : new Date);
            _parsestr = [_date.getFullYear(), (_date.getMonth() + 1), _date.getDate(), _date.getHours(), _date.getMinutes(), _date.getSeconds()];
            return {
                //返回字符串
                Totime: this.parse(_parsestr, format),
                //返回数组
                Toarry: _parsestr
            };
        },
        //日期序列化
        toarry: function (timestr) {
            var aryy = this.Isdate(timestr, true);//日期正确返回日期数组[YYYY,MM,dd,HH,mm,ss]
            if (!aryy) return null;
            return aryy;
        },
        //验证日期,设置第二个参数可以返回现在日期数组[YYYY,MM,dd,HH,mm,ss]
        Isdate: function (datestr, isreturn) {
            var _DateReg = /^((\d{4})(-|\/)(\d{1,2})\3(\d{1,2}))( (\d{1,2}):(\d{1,2}):(\d{1,2}))?$/,//2015-1-43 3:3:44||2015-1-43 99:99:99
                _Date,
                _result,
                _YYYY, _MM, _dd, _HH = 0, _mm = 0, _ss = 0, _istrue = false;
            if (_DateReg.test(datestr)) {//验证格式正确
                _result = _DateReg.exec(datestr);//datestr.match(reg);
                //console.log(_result);
                if (_result == null) return false;
                _YYYY = _result[2];
                _MM = +_result[4] - 1;
                _dd = _result[5];
                if (_result[6] != undefined && _result[6] != ‘‘) {
                    _HH = _result[7];
                    _mm = _result[8];
                    _ss = _result[9];
                }
                _Date = new Date(_YYYY, _MM, _dd, _HH, _mm, _ss);
                _istrue = (_Date.getFullYear() == _YYYY && _Date.getMonth() == _MM && _Date.getDate() == _dd && _Date.getHours() == _HH && _Date.getMinutes() == _mm && _Date.getSeconds() == _ss);
                return (_istrue && (isreturn && [_YYYY, (_MM + 1), _dd, _HH, _mm, _ss])) || _istrue;
            }
            else {
                return false;
            }
        },
        //润年判断
        LeapYear: function (year) {
            if ((year % 100 == 0 && year % 400 == 0) || year % 4 == 0) return true;
            return false;
        }
    };

  

    //公共方法
    var Common = {
        each: function (arrydom, fn) {
            var len = arrydom.length;
            for (var i = 0; i < len; i++) {
                if (typeof fn == ‘function‘) {
                    fn.call(arrydom[i]);
                }
            }
        },
        //绑定事件
        on: function (dom, even, fn) {
            dom.attachEvent ? dom.attachEvent(‘on‘ + even, function (e) {
                e = e || window.event;
                fn.call(dom, e);
            }) : dom.addEventListener(even, function (e) {
                e = e || window.event;
                fn.call(dom, e);
            }, false);
        },
        //获得属性
        attr: function (dom, attr, val) {
            var str = ‘‘, s;
            if (val) {
                dom.setAttribute(this.trim(attr), val);
                attr.toLowerCase() == ‘class‘ && (dom.className = val);
                attr.toLowerCase() == ‘style‘ && (dom.style.cssText = val);
            }
            else {
                s = dom.getAttribute(attr);
                str = s;
                attr.toLowerCase() == ‘class‘ && (str = dom.className);
                attr.toLowerCase() == ‘style‘ && (str = dom.style.cssText);
                return this.trim(str);
            }
        },
        //删除属性
        removeattr: function (dom, attr) {
            dom.removeAttribute(attr);
        },
        //判断是否存在class
        hasClass: function (dom, str) {
            return new RegExp(‘\\b‘ + str + ‘\\b‘).test(dom.className);
        },
        //添加class
        addClass: function (dom, cls) {
            this.hasClass(dom, cls) || (dom.className += ‘ ‘ + cls);
            dom.className = this.trim(dom.className);
        },
        //删除class
        removeClass: function (dom, cls) {
            var c = this.trim(cls), reg = new RegExp(‘\\b‘ + c + ‘\\b‘);

            if (this.hasClass(dom, c)) {
                dom.className = this.trim(dom.className.replace(reg, ‘‘));
            }
        },
        //去除前后空格
        trim: function (s) {//去除多于空格
            s = s || ‘‘;
            return s.replace(/^\s*|\s*$/g, ‘‘);
        }
    };

  

时间: 2024-08-29 20:05:14

Javascript——dom常用操作-- date操作的相关文章

javascript DOM常用API总结

作者:狼狼的蓝胖子 网址:http://www.cnblogs.com/lrzw32/p/5008913.html 文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认识. 基本概念 在讲解操作DOM的api之前,首先我们来复习一下一些基本概念,这些概念是掌握api的关键,必须理解它们. Node类型 DOM1级定义了一个Node接口,该接口由DOM中所有节点类型实现.这个Node接口在JS中是

javascript DOM 操作

在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Model(文本对象模型). D : 文档(html或xml文档) O : 对象(文档对象) M : 模型 1.2.DOM结构 DOM将文档以家谱树的形式来表现. 下面是一个简单的html文档,我们可以看出该文档的DOM结构如下 1 <!DOCTYPE html> 2 <html> 3 <

[js高手之路] dom常用API【appendChild,insertBefore,removeChild,replaceChild,cloneNode】详解与应用

本文主要讲解DOM常用的CURD操作,appendChild(往后追加节点),insertBefore(往前追加节点),removeChild(移除节点),replaceChild(替换节点),cloneNode(克隆节点)的语法与实战应用 一.appendChild: 向元素的内部最后面增加一个节点,或者移动一个现有的节点到元素的内部最后面 用法: someNode.appendChild( newNode ) someNode通常为元素的父节点 返回值: 返回新增加的节点  1     <i

Javascript操作DOM常用API总结

Javascript操作DOM常用API总结 原文地址:http://luopq.com/2015/11/30/javascript-dom/ 类型 Node类型(ELEMENT_NODE:1 ATTRIBUTE_NODE:2 TEXT_NODE:3 COMMENT_NODE:8``DOCUMENT_NODE:9 DOCUMENT_FRAGMENT_NODE:11) 节点创建型(createElement createTextNode cloneNode createDocumentFragme

【repost】Javascript操作DOM常用API总结

Javascript操作DOM常用API总结 文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认识. 基本概念 在讲解操作DOM的api之前,首先我们来复习一下一些基本概念,这些概念是掌握api的关键,必须理解它们. Node类型 DOM1级定义了一个Node接口,该接口由DOM中所有节点类型实现.这个Node接口在JS中是作为Node类型实现的.在IE9以下版本无法访问到这个类型,JS中所有

javascript DOM操作HTML文档

文档对象模型(DOM)是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准.W3C将文档对象模型定义为:是一个能让程序和脚本动态 访问和更新文档内容.结构和样式的语言平台.提供了标准的HTML和XML对象集,并有一个标准接口来访问并操作他们,即任何一个 html 元素可以使用 JavaScript DOM 动态访问和控制. 1. DOM概述 文档对象模型定义了JavaScript可以进行操作的浏览器,描述了文档对象的逻辑结构及各个功能组件的标准接口.主要包括以下内容: 核心Jav

轻松学习JavaScript二十四:DOM编程学习之操作CSS样式(一)

CSS样式作为HTML的辅助,可以增强页面的显示效果.前面学了DOM操作HTML,因此也要学DOM操作CSS 样式的方法.在学习CSS的时候,已经知道了CSS插入到HTML文档有三种情况,分别为:行内式,内嵌式和外联式 (这是我们最常用的).下面就来看怎么操作这三种情况: 一操作行内式 先来写一个HTML文档: <span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

javascript DOM 操作基础知识小结

经常用到javascript对dom,喜欢这方便的朋友也很多,要想更好的对dom进行操作,这些基础一定要知道的. DOM添加元素,使用节点属性 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.

javascript 常用的数组操作

join() Array.join(/* optional */ separator) 将数组转换为字符串,可带一个参数 separator (分隔符,默认为","). 与之相反的一个方法是:String.splict() ,将字符串分隔成若干块来创建一个新的数组. reverse() Array.reverse(),颠倒数组元素的顺序,返回逆向的数组.注意此方法会修改原来数组元素的位置,而不是返回一个新的数组. sort() sort() 方法将数组中的元素排序并返回排序后的数组.s