将其设置为null并仅在一行中获取可变数据

时间:2017-01-11 05:56:25

标签: javascript jquery

var checkActiveBrand = $(".brand__title").attr("data-brand-title");

我有这个变量来获取我的.brand__title数据,但我也想检查它是否为空,但我不想使用if来检查它。

if(!checkActiveBrand){
 checkActiveBrand = null;
}

我不想使用它,我想要一行来设置它,如果没有,则返回null而不使用if语句。有办法吗?因为我需要检查很多数据,如果我设置所有数据并逐个检查它将会很混乱。

3 个答案:

答案 0 :(得分:3)

最短的一个是内联||,您可以使用.data()方法:



var checkActiveBrand = $(".brand__title").data("brandTitle") || null;

console.log(checkActiveBrand);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='brand__title' data-brand-title=''>Data brand title attr is "".</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用ternary operator

checkActiveBrand = (checkActiveBrand) ? checkActiveBrand : null;

答案 2 :(得分:0)

您可以使用作为Javascript一部分的三元运算符。您包含要测试的条件,后跟?,然后是值,如果为真,:,则值为false。

var checkActiveBrand = $(".brand__title").attr("data-brand-title") ? $(".brand__title").attr("data-brand-title") : null;