Quiero mostrar u ocultar los icons de intercalación basados en los elementos del menú presentes o no. si los elementos de menú presentes muestran el icono de intercalación, ocultelo. Estoy usando bootstrap4 y en mi caso los elementos del menú desplegable serán generados dinámicamente.
.dropdown-toggle::after { display:none;!important }
El código anterior elimina el símbolo de intercalación, pero ¿cómo mostrarlo u ocultarlo en función del menú en el menú desplegable presente o no?
.dropdown-toggle::after { display:none !important; }
Use .hide()
si no hay elementos dentro de $('.dropdown-menu .dropdown-item').length==0
$( document ).ready(function() { if($('.dropdown-menu .dropdown-item').length==0 ) { $('.fas.fa-shopping-cart').hide(); } });
Haga una clase diciendo .hidden
y agregue mostrar ninguna propiedad como.
.hidden { display:none !important }
y en tu JS haz esto:
$(document).ready(function(){ var hasElement = $(".dropdown-menu" ).has("a"); hasElement.length == 0 ? $(".dropdown-toggle").addClass("hidden") : $(".dropdown-toggle").removeClass("hidden") });