【JavaScript框架封装】实现一个类似于JQuery的内容框架的封装

// 内容框架
(function (xframe) {
// 需要参与链式访问的(必须使用prototype的方式来给对象扩充方法)
xframe.extend({
/**
* .html()用为读取和修改元素的HTML标签 对应js中的innerHTML
* @return {html}
*/
html: function () {
var arg = arguments,
len = arg.length,
arr = Array.prototype.slice.call(this);
if (this.length < 1) {
return this;
}
// 分为取值模式和设置模式
if (len === 0) {
// 取值模式
return this[0].innerHTML;
} else if (len === 1) {
// 设置模式
arr.each(function () {
this.innerHTML = arg[0];
});
}
return this;
},
/**
* 用于获取文本信息
* @return {*}
*/
text: function () {
var args = arguments,
len = args.length;
if (this.length === 0) {
return this;
}
if (len === 0) {
// 取值模式
return this[0].innerText;
} else if (len === 1) {
// 设置模式
this.each(function () {
this.innerText = args[0];
});
}
return this;
},
/**
* 用于获取表单中的数值(input, form)
* @return {*}
*/
val: function () {
// val();设置或者获取表单字段的值(前提是表单设置了value属性);
var args = arguments,
len = args.length;
if (this.length === 0) {
return this;
}
if (len === 0) {
return this[0].value;
} else if (len === 1) {
this.each(function () {
this.value = args[0];
});
}
return this;
}
});
// 不需要参与链式访问的
xframe.extend(xframe, {});
})(xframe);

 

posted @   高热度网  阅读(135)  评论(0编辑  收藏  举报
编辑推荐:
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
点击右上角即可分享
微信分享提示