首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用jQuery检查是否设置了cookie?

如何使用jQuery检查是否设置了cookie?
EN

Stack Overflow用户
提问于 2012-02-26 14:23:37
回答 4查看 2.9K关注 0票数 1

我使用了以下代码:

代码语言:javascript
复制
$('#theme').attr('href', $.cookie("jquery-ui-theme"));

如果已经设置了cookie,则此方法有效。但是如果cookie还没有被读取,我如何创建一个默认的href呢?

EN

回答 4

Stack Overflow用户

发布于 2012-02-26 14:41:19

奇怪的是,这里有一个三元运算符的建议,其中第一个值与条件相同。缩写为:

代码语言:javascript
复制
$('#theme').attr('href', $.cookie('jquery-ui-theme') || "default");

您总是可以将三元表达式A ? A : B简化为更简单的A || B

票数 5
EN

Stack Overflow用户

发布于 2012-02-26 14:27:55

您可以使用ternary operation,它本质上是一个适合一行的if语句。它们的结构如下:

表达式?valueIfTrue : valueIfFalse;

我倾向于在这样的情况下使用它们,在这种情况下,如果没有设置某些内容,您需要一个默认值。

代码语言:javascript
复制
var href = $.cookie("jquery-ui-theme") ? $.cookie("jquery-ui-theme") : 'http://www.example.com';
$('#theme').attr('href', href);

这相当于:

代码语言:javascript
复制
var href = $.cookie("jquery-ui-theme");
if (!href) {
    href = 'http://www.example.com';
}
$('#theme').attr('href', href);
票数 0
EN

Stack Overflow用户

发布于 2012-02-26 14:28:05

我不熟悉你的cookie插件,但只需使用一个三元运算符(如果需要,还可以为你的插件修改这段代码):

代码语言:javascript
复制
$('#theme').attr('href', ($.cookie('jquery-ui-theme')!='') ? $.cookie('jquery-ui-theme') : 'your-default-value'))

另请参阅:Operator precedence with Javascript Ternary operator

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9451065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档