次のコードを使用しています。
$('#theme').attr('href', $.cookie("jquery-ui-theme"));
これは、Cookie が既に設定されている場合に機能します。しかし、Cookie がまだ使用されていない場合、どうすればデフォルトの href を作成できますか?
次のコードを使用しています。
$('#theme').attr('href', $.cookie("jquery-ui-theme"));
これは、Cookie が既に設定されている場合に機能します。しかし、Cookie がまだ使用されていない場合、どうすればデフォルトの href を作成できますか?
ここで、最初の値が条件と同じである三項演算子の提案を見るのは奇妙です。次のように短縮します。
$('#theme').attr('href', $.cookie('jquery-ui-theme') || "default");
いつでも三項式A ? A : B
をより単純なものに減らすことができますA || B
基本的に1行に収まる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);
私はあなたの Cookie プラグインに詳しくありませんが、三項演算子を使用するだけです (必要に応じてプラグイン用にこのコードを変更してください)。
$('#theme').attr('href', ($.cookie('jquery-ui-theme')!='') ? $.cookie('jquery-ui-theme') : 'your-default-value'))
存在するかどうかを確認します。
if ($.cookie('jquery-ui-theme') != null) {
$('#theme').attr('href', $.cookie("jquery-ui-theme"));
} else {
$('#theme').attr('href', 'default');
}