From ee579a071a91cbade729d3cb97e097568e71f8fc Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Thu, 3 May 2012 21:42:51 -0700 Subject: feat(jqLite): support data() getter and data(obj) setter ... just like jquery does --- src/jqLite.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/jqLite.js') diff --git a/src/jqLite.js b/src/jqLite.js index df878609..efe3ec31 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -215,7 +215,21 @@ function JQLiteData(element, key, value) { } cache[key] = value; } else { - return cache ? cache[key] : null; + if (isDefined(key)) { + if (isObject(key)) { + if (!cacheId) element[jqName] = cacheId = jqNextId(); + jqCache[cacheId] = cache = (jqCache[cacheId] || {}); + extend(cache, key); + } else { + return cache ? cache[key] : undefined; + } + } else { + if (!cacheId) element[jqName] = cacheId = jqNextId(); + + return cache + ? cache + : cache = jqCache[cacheId] = {}; + } } } -- cgit v1.2.3