动态创建对象并绑定属性:

            var instantiate = function (Type, args) {
var Constructor = function () { };
Constructor.prototype = Type.prototype; var obj = new Constructor(); Type.apply(obj, args); return obj;
}; var AssetObj = function () { }; AssetObj.prototype.getAssetName = function (AssetName) {
return "AssetName:" + this[AssetName] + ",data:" + this[AssetName + "DataObjs"] + "Length:" + this[AssetName + "DataObjs"].length;
}; AssetObj.prototype.set = function (Asset, data) {
this[Asset] = Asset;
if (this[Asset + "DataObjs"] == null || this[Asset + "DataObjs"] == undefined) {
this[Asset + "DataObjs"] = new Array();
this[Asset + "DataObjs"].push(data);
} else {
this[Asset + "DataObjs"].push(data);
}
} //
var assetObjs = instantiate(AssetObj);
var regionObjs = instantiate(AssetObj); //assetObjs.set("ISCS", "ISCS_DATA1");
//assetObjs.set("ISCS", "ISCS_DATA2");
//assetObjs.set("HHO", "HHO_DATA");
//alert("person2:" + assetObjs.getAssetName('ISCS'));
//alert("person3:" + assetObjs.getAssetName('HHO')); $.each(items, function (k, v) {
assetObjs.set(v.Asset, v);
regionObjs.set(v.Region, v);
});

Jquery属性选择器:

源码示例:

//获取页面data-role="page"和data-role="dialog"的数目
//#7470
var $pages = $(":jqmData(role='page'),:jqmData(role='dialog')")

那我来大家来看一下到底是咋样实现的呢?

源码展示:

var oldFind = $.find,
jqmDataRE = /:jqmData\(([^)]*)\)/g; $.find = function(selector,context,ret,extra){
//注意这边会按照jquery mobile的特性写法,进行一层过滤
selector = selector.replace(jqmDataRE,"[data-" + ($.mobile.ns || "") + "$1]");
//比如selector为":jqmData(role='page')",替换后的"[data-role='page']"
return oldFind.call(this,selector,context,ret,extra);
};

说明;
1、其实在jquery mobile体系中,内部处理了一下$.find,对:jqmData这种选择器进行处理

Jquery Mobile开发以及Js对象动态绑定的更多相关文章

  1. (转)经典收藏 50个jQuery Mobile开发技巧集萃

    (原)http://www.cnblogs.com/chu888chu888/archive/2011/11/10/2244181.html 经典收藏 50个jQuery Mobile开发技巧集萃   ...

  2. 18个jQuery Mobile开发贴士和教程

    jQuery Mobile 是 jQuery 在手机上和平板设备上的版本.jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架.支持 ...

  3. 经典收藏 50个jQuery Mobile开发技巧集萃

    http://www.cnblogs.com/chu888chu888/archive/2011/11/10/2244181.html 1.Backbone移动实例 这是在Safari中运行的一款Ba ...

  4. jquery mobile开发笔记之Ajax提交数据(转)

    http://my.oschina.net/xiahuawuyu/blog/81763 这两天学习了下,jquery mobile(以下简称jqm)的开发相关的内容.可能之前有过web的开发基础,相对 ...

  5. 利用JQuery Mobile开发web app

    什么是web app web app 是基于web的应用程序,是针对移动设备优化后的web站点,它具有 开发成本低——采用web开发技术,不需要考虑跨平台以及底层适配问题: 升级简单——不需要通知用户 ...

  6. jQuery Mobile开发的新闻阅读器,适应iphone和android手机

    程序猿都非常赖.你懂的! 我们常常上新浪,腾讯.雅虎等各大站点上面看新闻.他们也都各自推出了自家的手机新闻阅读器.今天我自己使用jQuery Mobile 来实现这一功能.图片大小上传限制了大小250 ...

  7. jQuery Mobile 开发中常见的问题

    目录 页面缩放显示问题 页面跳转后样式丢失js失效 跳转时重复调用pageinit方法的解决办法 如何调用loading效果   1页面缩放显示问题 问题描述: 页面似乎被缩小了,屏幕太宽了. 解决办 ...

  8. Jquery学习笔记(1)--JQuery原理,与JS对象互换,核心函数

    js对象转jQuery对象,$('num'), jQuery对象转js对象,$('num')[0],或$('num').get(0). 1.点击换行,each(),html(),attr(),每个h1 ...

  9. jquery mobile开发中页面跳转后js不执行的问题

    为了实现在移动设备上的无缝客户体验,jQueryMobile默认采用AJAX的方式载入一个目的链接页面.因此,当在浏览器中点击一个链接打一个新的页面时,jQueryMobile接收这个链接,通过AJA ...

随机推荐

  1. 软媒魔方 v6.2.1.0 绿色纯净版及经典版

    软媒魔方,最好用的 Windows 系统增强软件!从最早的优化大师发展为一款系统超级增强套装,自动化.智能化解决各种电脑问题.软媒魔方,全新一代Windows系统增强辅助工具,智能+专业双操控模式,系 ...

  2. 为自己的爬虫更换代理和HTML头部

    import requestsimport reimport randomimport time class download(): def __init__(self): self.iplist = ...

  3. CRM(客户关系管理)

    CRM最初是由Gartner Group提出的. CRM定义:"客户关系管理(CRM),是代表增进赢利.收入和客户满意度而设计的,企业范围的商业战略." 我们可以看出,Gartne ...

  4. python学习笔记-(十三)堡垒机

    1.课前准备: 本次学习堡垒机相关知识:之前,需要安装Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作. 前提: python3.5程序安装到默认路径下并已添加pa ...

  5. 转-ArcGIS Engine许可初始化

    关于初始化Engine许可的,其实原理都很简单,大家一般都没有问题,但又往往会因为不够细心加上Engine的“小脾气”,让不少程序员都要在这里犯错. 以Engine9.2为例,应用程序是强制初始化许可 ...

  6. 深入理解javascript原型和闭包(15)——闭包

    前面提到的上下文环境和作用域的知识,除了了解这些知识之外,还是理解闭包的基础. 至于“闭包”这个词的概念的文字描述,确实不好解释,我看过很多遍,但是现在还是记不住. 但是你只需要知道应用的两种情况即可 ...

  7. postgresql是如何处理死连接(转)

    在数据库postgresql中,一个客户端到服务器连接实际上是一个tcp socket连接,tcp连接是虚连接,一方非正常退出(如断电),另一方会继续维持这个连接.   举个例子,一个客户端电脑正常连 ...

  8. 如何解决mathpage.dll或MathType.dll文件找不到问题

    解决方法(具体图文教程): 步骤一 要确保路径被office信任.依次打开word->文件->选项->信任中心->信任中心设置->添加新位置,添加C:\Program F ...

  9. Android之layout_gravity与gravity解析

    相信layout_gravity和gravity这两个属性一直困扰着很多人,很多初学者都分不清这两个属性有什么区别,以及怎样区分它们.它们中,有一个表示的是一个控件在父布局中的位置,而另一个表示的是一 ...

  10. UI第七节——UISlider详解

    - (void)viewDidLoad { [super viewDidLoad]; // 实例化UISlider,高度对外观没有影响 UISlider *slider = [[UISlider al ...