Кнопка Скрыть, если URL не определен - PullRequest
0 голосов
/ 24 октября 2019

Я хотел бы скрыть кнопку url, если значение не определено. Я передал атрибут и добавил в класс.

<script="text/javascript">
.........
 j('.url').attr('href',ContextPath + home);

</script>

, и кнопка определена как

<a href="#header" class="btn btn-black txt-white url" title="button">
    <i class="fa fa-user fa-fw" aria-hidden="true"></i>
</a>

Я хотел бы скрыть кнопку, если url не определен. Я написал этот код jquery, но он не работает.

<script type="text/javascript">
    jQuery (document).ready(function($) {

    $('url').children('a').each(function() {
        if(($(this).attr('url')=='undefined'))
        $(this).hide();
    })
})  
 </script>

, если вы нажимаете кнопку, которую вы отправляете на URL http: /www.home/pagenull, и я хотел бы, чтобы кнопка скрывалась и не отправляласьперейдите по ссылке http: /www.home/pagenull и покажите кнопку, если URL не http: /www.home/pagenull. Я попробовал ответы, и они не работают. Любая идея?

Ответы [ 2 ]

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

Ваш синтаксис неверен.


Изменение:

<script="text/javascript">
.........
 j('.url').attr('href',ContextPath + home);

</script>

на:

<script="text/javascript">
 $('.url').attr('href',ContextPath + home);
</script>

Вот некоторые проблемы:

  • j('.url') недопустимо jQuery;от> j('.url') до> $('.url')
  • Эти периоды: ......... могут вызывать проблемы.

Изменение:

jQuery (document).ready(function($) {

    $('url').children('a').each(function() {
        if(($(this).attr('url')=='undefined'))
        $(this).hide();
    })
}) 

до:

$(document).ready(function() {
    $('.url').each(function() {
        if( $(this).attr('href') == undefined )
        $(this).hide();
    });
});

Вот некоторые проблемы:

  • забыл '.'перед селектором класса;from> $('url') to > $ ('. url')
  • .attr('url') не является допустимым атрибутом $(this);от> .attr('url') до> .attr('href')
  • 'undefined' не должно быть строкой;от> 'undefined' до> undefined
  • отсутствует окончание ';'~ облегчает чтение кода.
  • .each оператор не нацелился на правильный элемент;от> $('url').children('a').each до> $('url').each
0 голосов
/ 24 октября 2019

Я бы сделал то же самое, что и Soulete, но я бы добавил строку для ссылки на элемент в переменной во время итерации цикла. Тогда я бы создал структуру решения с дополнительным тестированием.

<script>
    $(function () {

        $(".url").each(function () {
            var r = $(this).attr('href')

            if (r === undefined || r === '#') {
                $(this).hide()
            }

        })
    })
</script>
...