我使用以下代码:
$('#theme').attr('href', $.cookie("jquery-ui-theme"));
如果已经设置了cookie,则此方法有效。但是,如果cookie尚未成为
,我如何制作默认的href答案 0 :(得分:5)
很奇怪这里有一个三元运算符的建议,其中第一个值与条件相同。缩短为:
$('#theme').attr('href', $.cookie('jquery-ui-theme') || "default");
您始终可以将三元表达式A ? A : B
简化为更简单的A || B
答案 1 :(得分:1)
您可以使用ternary operation,它本质上是一个适合一行的if语句。它们的结构如下:
表达? valueIfTrue:valueIfFalse;
我倾向于在这种情况下使用它们,如果没有设置某些东西你想要一个默认值。
var href = $.cookie("jquery-ui-theme") ? $.cookie("jquery-ui-theme") : 'http://www.example.com';
$('#theme').attr('href', href);
这相当于:
var href = $.cookie("jquery-ui-theme");
if (!href) {
href = 'http://www.example.com';
}
$('#theme').attr('href', href);
答案 2 :(得分:0)
我不熟悉你的cookie插件,但只使用三元运算符(如果需要,可以为你的插件修改这段代码):
$('#theme').attr('href', ($.cookie('jquery-ui-theme')!='') ? $.cookie('jquery-ui-theme') : 'your-default-value'))
答案 3 :(得分:0)
检查它是否存在:
if ($.cookie('jquery-ui-theme') != null) {
$('#theme').attr('href', $.cookie("jquery-ui-theme"));
} else {
$('#theme').attr('href', 'default');
}