我是 jQuery 和 JS 的新手,当用户从按钮列表中选择时,我正在尝试使用选定的“主题”。在使用范围内和范围外的数据时,使用数据属性值这个主题超出了我的范围。
将数据保存到窗口对象的优缺点是什么?
最好或更好的方法来做到这一点......
使用输入字段保存和检索的优点和缺点是什么?
有没有更好的方法我不知道?
我是 jQuery 和 JS 的新手,当用户从按钮列表中选择时,我正在尝试使用选定的“主题”。在使用范围内和范围外的数据时,使用数据属性值这个主题超出了我的范围。
将数据保存到窗口对象的优缺点是什么?
最好或更好的方法来做到这一点......
使用输入字段保存和检索的优点和缺点是什么?
有没有更好的方法我不知道?
我们将调用#link
带有数据属性的链接foo
var data;
//this function is called when the link is clicked - making sure the var is *only*
created for clicked links
$('#link').click(function() {
data = $(this).data('foo');
//code to do whatever you want it to do
})
所以现在,对于这个页面,我们有一个变量,其中存储data
了 的值。foo
任何函数现在都可以使用存储在此变量中的数据,您可以将其存储在某个地方以供以后使用localStorage
或使用 cookie。
如果您使用GitHub 上的 jQuery cookie 插件,您可以简单地调用该函数并使用它设置一个 cookie,如下所示:
$.cookie('name','value');
所以在这种情况下:
$.cookie('foo',data);
或者,现代浏览器可以使用 localStorage,它不需要任何插件,但在 IE 和旧版本的 Firefox 等中可能会受到一些限制。
localStorage 的用法是:
localStorage.foo = data; //localStorage.foo can be anything you want -- localStorage.bar, etc
下次要引用它时,只需使用它本身或将其设置为 var 将其拉入 JavaScript/jQuery:
if(localStorage.foo == "this") { //do something }
或者
var foo = localStorage.foo;
if(foo == "this") { //do something}
要更直接地回答您的问题:
1) 浏览器兼容性。这将永远是你最大的敌人,尤其是如果你知道你必须处理像 IE8 这样的旧浏览器。优点 - 使用 JavaScript/jQuery 做起来非常容易并且流畅
2) 始终提供后备。在这种情况下,使用 cookie 可以防止您在旧版浏览器中失去功能。
3)不知道我明白你在那里问什么。
4) 可能。总会有更新、更大、更好的东西出来。这是我目前在我的网站中使用的两种方法,我还没有遇到任何重大问题。