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

Tengo esta variable para obtener mis datos .brand__title pero también quiero verificar si estaba vacía o no, pero no quiero usar if para verificarla.

if(!checkActiveBrand){
 checkActiveBrand = null;
}

No quiero usar esto, quiero una sola línea para configurarlo todo y, si no, devolver null sin usar la instrucción if. ¿Hay alguna manera? porque tengo una gran cantidad de datos para verificar, será complicado si configuro todo y lo verifico uno por uno.

4
dee cheok 11 ene. 2017 a las 08:56

3 respuestas

La mejor respuesta

La más corta sería esta con || en línea y puede utilizar el método .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>
3
Jai 11 ene. 2017 a las 06:02

Puede usar el operador ternario que es parte de Javascript. Incluye la condición que desea probar, seguida de un ?, seguido del valor si es verdadero, :, valor si es falso.

var checkActiveBrand = $(".brand__title").attr("data-brand-title") ? $(".brand__title").attr("data-brand-title") : null;
0
VKK 11 ene. 2017 a las 05:58

Utilice operador ternario

checkActiveBrand = (checkActiveBrand) ? checkActiveBrand : null;
0
Samir 11 ene. 2017 a las 05:58