如果存在徽标ID,则在JQuery中隐藏页面上的另一个ID

时间:2017-02-10 09:31:00

标签: javascript jquery html css

如果存在徽标,请尝试隐藏div。尝试了一些没有快乐的事情,你能发现错误吗?

if ($('#mylogo').css('display', 'block') {
   $('#sign_up_now').css('display', 'none');
}

$(document).ready(function(){
    if ($('#my_logo').length) {
       $('#sign_up_now').css('display', 'none');
    }
});

因此,如果我的my_logo处于活动状态(显示:阻止)即使存在。隐藏 ID sign_up_now

的div

选择两个选项会很棒,因为如果sign_up_now div也存在,我可能需要稍后隐藏div。

修改

当放置在页面的页脚中时,如果运行两个JQuery函数。我假设他们没有用a;

关闭脚本标签
<script>
    $(document).ready(function () {
        if ($('#intrica_logo').css('display') == 'block') {
            $('#sign_up_now').css('display', 'none');
        }
    });
</script>
<script>
    $(document).ready(function () {
        if ($('tr#logout_button').css('display') == 'table-row') {
            $('tr#sign_up_now').css('display', 'none');
        }
    });
</script>

或应该是

<script>
    $(document).ready(function () {
        if ($('#my_logo').css('display') == 'block') {
            $('#sign_up_now').css('display', 'none');
        }
        if ($('tr#logout_button').css('display') == 'table-row') {
            $('tr#sign_up_now').css('display', 'none');
        }
    });
</script>

6 个答案:

答案 0 :(得分:2)

尝试使用:visible和is()来测试徽标是否可见,使用hide()隐藏徽标

if ($('#mylogo').length && $('#mylogo').is(':visible')) {
    $('#sign_up_now').hide();
}

答案 1 :(得分:1)

ObjA instanceA = new ObjA();
// Do something with instanceA
instanceB.method(instanceA);

提出任何这些例子。

答案 2 :(得分:1)

if语句中,您将分配display属性,而不是检查。

修改您的代码,如下所示。

$(document).ready(function() {
  if ($('#mylogo').css('display') == 'block') {
    $('#sign_up_now').css('display', 'none');
  }
});

答案 3 :(得分:1)

您可以使用以下代码段获取元素display属性:

  $(document).ready(function() {
        if( $('#my_logo').css('display') == 'block' ) {
           $('#sign_up_now').css('display', 'none');
        } else {
        //element's display is not block       
        }
    }); 

隐藏可见性或不透明度为零的元素被视为可见,因为它们在布局中具有空间。您可以检查元素是否可见,如下面的代码段所示:

function isHidden (element) {
    return $(element).is(":hidden") || $(element).css("visibility") == "hidden" || $(element).css('opacity') == 0;
}


var isShowed = !isHidden(checkElement);

如果您想检查元素是否可见display != none并忽略父母的可见性,那么您会发现执行.css("display") == 'none'的速度更快,并且可以为您提供准确的可见性。

答案 4 :(得分:0)

你走了:

$(document).ready(function(){
    if( $('#my_logo').css('display') == 'block' ) {
        $('#sign_up_now').css('display', 'none');
    } else {
        $('#sign_up_now').css('display', 'block');
    }
});

答案 5 :(得分:0)

您可以向元素添加一个类,并检测元素是否有class或没有

if($("#mylogo").hasClass("visible")){
    $('#sign_up_now').css('display', 'none')
    $("#mylogo").removeClass("visible");
}