как скрыть кнопку пустого значения href с помощью jquery или javascript - PullRequest
1 голос
/ 21 октября 2019

У меня проблема с кодом jquery, когда я пытаюсь скрыть кнопку, которая не имеет значения в атрибуте href, как это исправить? мой код:

<a id="tw" href=""> Twitter</a>
<a id="fb" href="http://m.facebook.com"> Facebook</a>

<script>
$('#tw').each(function() {
    if($('#tw').attr('href') === '') {
        $(this).parents('#tw').hide();
    }
});
</script>

Ответы [ 2 ]

2 голосов
/ 21 октября 2019

Вам нужно выбрать все ссылки a и проверить атрибут href, вы выбираете только одну (#tw)

$('a').each(function() {
  if (!$(this).attr('href')) {
    $(this).hide();
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a id="tw" href=""> Twitter</a>
<a id="fb" href="http://m.facebook.com"> Facebook</a>

Еще лучше, используйте селектор css, чтобы получить ссылки с пустыми href и скрыть их:

$('a[href=""]').hide();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a id="tw" href=""> Twitter</a>
<a id="fb" href="http://m.facebook.com"> Facebook</a>
<a id="other" href=""> Another link</a>

Или просто css:

a[href=""]{
  display: none;
}
<a id="tw" href=""> Twitter</a>
<a id="fb" href="http://m.facebook.com"> Facebook</a>
<a id="other" href=""> Another link</a>
0 голосов
/ 21 октября 2019
$('#tw').each(function() {
    if($(this).attr('href') != '') {
        $(this).parents('#tw').show();
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...