1

次のコードを使用しています。

$('#theme').attr('href', $.cookie("jquery-ui-theme"));

これは、Cookie が既に設定されている場合に機能します。しかし、Cookie がまだ使用されていない場合、どうすればデフォルトの href を作成できますか?

4

4 に答える 4

5

ここで、最初の値が条件と同じである三項演算子の提案を見るのは奇妙です。次のように短縮します。

$('#theme').attr('href', $.cookie('jquery-ui-theme') || "default");

いつでも三項式A ? A : Bをより単純なものに減らすことができますA || B

于 2012-02-26T06:41:19.460 に答える
0

基本的に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);
于 2012-02-26T06:27:54.533 に答える
0

私はあなたの Cookie プラグインに詳しくありませんが、三項演算子を使用するだけです (必要に応じてプラグイン用にこのコードを変更してください)。

$('#theme').attr('href', ($.cookie('jquery-ui-theme')!='') ? $.cookie('jquery-ui-theme') : 'your-default-value'))

関連項目: Javascript 三項演算子での演算子の優先順位

于 2012-02-26T06:28:04.667 に答える
0

存在するかどうかを確認します。

if ($.cookie('jquery-ui-theme') != null) {
  $('#theme').attr('href', $.cookie("jquery-ui-theme"));
} else {
  $('#theme').attr('href', 'default');
}
于 2012-02-26T06:28:28.273 に答える