1

コードに次の行があります。

var cart = $("#dynamo_shop_window .dynamo_content tbody .shop_cart").html();

ただし、cartページに一致する要素がない場合は、の値を空の文字列にします。

!$("#dynamo_shop_window .dynamo_content tbody .shop_cart").size();

これが事実なら、var cart = null;とにかくChromeの開発者ツールによると。

cart = cart !== null ? cart : '';空の文字列値を与えるために、上記のコードを次のように置き換える代わりに、上記のコードの後に​​使用する必要がある理由はありますか?

var cart = $("#dynamo_shop_window .dynamo_content tbody .shop_cart").html() || '';

は、またはその他の関連するステートメントを.html()返すことはありません。0false

4

3 に答える 3

2

いいえ、そうではありません。ダブルパイプ演算子は、左側に誤った値がある場合は常に右側にフォールスルーするため、、、、、undefinedまたはのいずれかnullです。NaN0""

これらすべての場合において、あなたがなりたいcartのなら"":それのために行きなさい。を使用し||ます。

于 2012-08-17T16:35:45.113 に答える
1
var cartVal = ($(".shop_cart").html().length > 0) ? $.trim($(".shop_cart").html()) : "";
于 2012-08-17T16:33:18.127 に答える
-1

私があなたの質問を理解した場合、これは同じことをします:

var cart = "";
if($("#dynamo_shop_window .dynamo_content tbody .shop_cart")){
    cart = $("#dynamo_shop_window .dynamo_content tbody .shop_cart").html();
}
于 2012-08-17T16:30:00.210 に答える