威尼斯www.9778.com-威尼斯正版官方网站

js 获取子节点函数 _表单特效_脚本之家

日期:2019-12-25编辑作者:服务器&运维

复制代码 代码如下:function getFirstChild { var result = obj.firstChild; while { result = result.nextSibling; } return result; } function getNextChild { var result = obj.nextSibling; while { result = result.nextSibling; } return result; }

为此,收集了自己平时常用到一些JavaScript函数,它们在其它的JS库也常见,现在整理并附上注释,方便查阅,希望对大家有所帮助。注:假设以下所有函数都放在一个CC对象中,方便引用。 复制代码 代码如下: //这个方法相信是最常用的了, //它虽然没有选择器那么强大,但也有个小增强版,可查指定结点下ID所在的子元素 function $ { //id是否是字符串,还是一个HTML结点 var iss = id instanceof String || typeof id == "string"; if return document.getElementById; //如果是结点的话就直接返回该结点 if return id; //如果id与p是同一个元素,直接返回 if return p; //往父结点搜索 var child = p.firstChild; while { if return child; //递归搜索 var v = this.$ return v; child = child.nextSibling; } //的确找不到就返回null return null; } 复制代码 代码如下: each: function(object, callback, args) { if { return object; } if { if (object.length === undefined) { for if (callback.apply === false) break; } else for (var i = 0, length = object.length; i < length; i++) if (callback.apply === false) break; } else { if (object.length == undefined) { for if (callback.call(object[name], name, object[name]) === false) break; } else for (var i = 0, length = object.length, value = object[0]; i < length && callback.call !== false; value = object[++i]) {} } return object; } 复制代码 代码如下: //数组 function isArray { return (typeof obj === "array" || obj instanceof Array); }, //字符串 function isString { return (typeof obj === "string" || obj instanceof String); }, //函数 function isFunction { return (typeof obj === "function" || obj instanceof Function); }, //数字类型 function isNumber { return (typeof ob === "number" || ob instanceof Number ); } 复制代码 代码如下: // 返回表单可提交元素的提交字符串. // 例如 // // 调用后就返回 user=rock&password=123 // 这些数据已经过encodeURIComponent处理,对非英文字符友好. // form元素中如果没有name,则以id作为提供字符名. function formQuery{ // f,一个Form表单. var formData = "", elem = "", f = CC.$; var elements = f.elements; var length = elements.length; for (var s = 0; s < length; ++s) { elem = elements[s]; if (elem.tagName == 'INPUT') { if ( (elem.type == 'radio' || elem.type == 'checkbox') && !elem.checked) { continue; } } if { formData += "&"; } formData += encodeURIComponent + "=" + encodeURIComponent; } return formData; } 复制代码 代码如下: /** * 移除数组指定元素. * 参数既可传递一个整形下标,也可传递一个数组数据. */ Array.prototype.remove = { //参数为下标 if { if (p < 0 || p >= this.length) { throw "Index Of Bounds:" + this.length + "," + p; } this.splice[0]; return this.length; } //参数为数组数据,最终要找到下标来操作 if (this.length > 0 && this[this.length - 1] == p) { this.pop(); } else { var pos = this.indexOf { this.splice[0]; } } return this.length; }); 复制代码 代码如下: Array.prototype.indexOf = { for (var i = 0, length = this.length; i < length; i++) { if return i; } return - 1; }); 复制代码 代码如下: /** * 万能而简单的表单验证函数,这个函数利用了JS动态语言特性,看上去很神秘, * 实际是很形象的,查看个例子就清楚了. */ validate: function() { var args = CC.$A, form = null; //form如果不为空元素,应置于第一个参数中. if { form = CC.$; args.remove; } //如果存在设置项,应置于最后一个参数中. //cfg.queryString = true|false; //cfg.callback = function //cfg.ignoreNull //nofocus:true|false var b = CC.isArray, d; var queryStr = b.queryString, ignoreNull = b.ignoreNull, cb = b.callback; var result = queryStr ? '': {}; CC.each { //如果在fomr中不存在该name元素,就当id来获得 var obj = v[0].tagName ? v[0] : form ? form[v[0]] : CC.$; //console.debug('checking field:',v, 'current value:'+obj.value); var value = obj.value, msg = v[1], d = CC.isFunction ? v[3] : v[2]; //选项 if (!d || typeof d != 'object') d = b; //是否忽略空 if (!d.ignoreNull && (value == '' || value == null)) { //如果不存在回调函数,就调用alert来显示错误信息 if CC.alert; //如果存在回调,注意传递的三个参数 //msg:消息,obj:该结点,form:对应的表单,如果存在的话 else d.callback; //出错后是否聚集 if obj.focus(); result = false; return false; } //自定义验证方法 if { var ret = v[2]; var pass = ; if { msg = ret; pass = false; } if { if CC.alert; //同上 else d.callback; if obj.focus(); result = false; return false; } } //如果不设置queryString并通过验证,不存在form,就返回一个对象, //该对象包含形如{elementName|elementId:value}的数据. if { result += ? ((typeof obj.name == 'undefined' || obj.name == '') ? obj.id: obj.name)

  • '=' + value: '&' + v[0] + '=' + value; } else if { result[v[0]] = value; } }); //如果设置的queryString:true并通过验证,就返回form的提交字符串. if (result !== false && form && queryStr) result = CC.formQuery; return result; } 复制代码 代码如下: /** * 应用对象替换模板内容 * templ({name:'Rock'},'

{name}

'); * st:0,1:未找到属性是是否保留 */ templ: function { return str.replace}/g, function { var a = obj[$1]; if (a === undefined || a === null) { if return ''; switch { case 0: return ''; case 1: return $1; default: return c; } } return a; }); }

本文由威尼斯www.9778.com发布于服务器&运维,转载请注明出处:js 获取子节点函数 _表单特效_脚本之家

关键词:

javascript JSON操作入门实例_json_脚本之家

JSON的平整一点也不细略:对象是三个无序的“‘名称/值'对”群集。二个目的以“{”甘休。各个“名称”后跟三个“...

详细>>

jQuery常见问题整理

Q0,新手必看教程:第一步,jQuery中文入门指南,翻译加实例,jQuery的起点教程第二步,下载手册方便查询(jQuery 1...

详细>>

记录鼠标的轨道并重放的js代码_javascript本领_脚本之家

越过的标题:Question①:mousemove事件中,移动方法中会被记录很多的left和top,笔者只必要大致的几组数据就能够,不...

详细>>