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()永远不会返回0或任何其他false相关声明。

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 回答