我的代码中有以下行:
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
相关陈述。
答案 0 :(得分:2)
不,不是真的。只要左侧有 falsey 值,双管操作符就会向右侧移动,因此undefined
,null
,{{1}之一},NaN
或0
。
如果在所有这些情况下,您希望""
为cart
:那就去吧。使用""
。
答案 1 :(得分:1)
var cartVal = ($(".shop_cart").html().length > 0) ? $.trim($(".shop_cart").html()) : "";
答案 2 :(得分:-1)
如果我理解你的问题,这也会这样做:
var cart = "";
if($("#dynamo_shop_window .dynamo_content tbody .shop_cart")){
cart = $("#dynamo_shop_window .dynamo_content tbody .shop_cart").html();
}