Как скрыть тег после указанного условия c? - PullRequest
0 голосов
/ 14 марта 2020

У меня есть шаблон Handlebars:

<div class="card-body">          
  <h5 class="card-title"><i class="fa fa-users" aria-hidden="true"></i> {{ this.group }}
    <i class="fa fa-user" aria-hidden="true"> </i> {{ this.name }} {{ this.lastName }}
  </h5>
  <a href="https://wa.me/{{ this.phone }}"><i class="fa fa-whatsapp" aria-hidden="true"></i> {{ this.phone }}</a><br>
  <i class="fa fa-home" aria-hidden="true"></i> {{ this.address }} <br>
  <a href="mailto:{{ this.email }}"><i class="fa fa-envelope" aria-hidden="true"></i> {{ this.email }}</a> 
  <br>          
  <hr>
  <p class="card-text">  
    <a class="facebook" href="https://www.facebook.com/{{ this.facebook }}" > <i class="fa fa-facebook" aria-hidden="true"></i></a>
    <a href="https://www.instagram.com/{{ this.instagram }}" ><i class="fa fa-instagram" aria-hidden="true"></i></a>
    <a href="https://twitter.com/{{ this.twitter }}"><i class="fa fa-twitter" aria-hidden="true"></i></a>
    <a href="https://www.linkedin.com/in/{{ this.linkedIn }}"><i class="fa fa-linkedin" aria-hidden="true"></i></a><br>                
  </p>
</div>

И я хочу скрыть все теги "a", которые не получат значение "href".

Я пробовал это Например,

<script>                           
    if (!document.getElementsByClassName("facebook").value) {      
      $(".facebook").hide();
    }    
</script>

Но он скрывает все теги «а», независимо от того, соответствует ли это условие или нет. Я предполагаю, что это должно быть связано с итерацией каждого сгенерированного тега, но я не могу понять, как нацелить их.

1 Ответ

0 голосов
/ 14 марта 2020

Вы можете сделать это, используя each:

$("a").each(function() {
    if($(this).attr("href") == "") {
        $(this).hide();
    }
});

Узнать больше: https://api.jquery.com/each/

...