【问题标题】:Show div if not already visible如果不可见,则显示 div
【发布时间】:2015-02-19 18:37:42
【问题描述】:

我有一些代码可以将文本添加到 div 然后显示它。

$("#messageBox").addClass('msg-error').text("Your selected date is no longer available due to the appointment duration. Please select an alternative date.").show();

然后我有一些其他代码也将文本添加到同一个 div 并显示它。

$("#messageBox").addClass('msg-error').text("Your selected time is no longer available due to the appointment duration. Please select an alternative time.").show();

但是,如果 messageBox div 尚不可见,我只想显示底部消息。我的代码是。

if($("#messageBox").not(':visible') || $("#messageBox").css("visibility") == "hidden"){
    $("#messageBox").addClass('msg-error').text("Your selected time is no longer available due to the appointment duration. Please select an alternative time.").show();
}

它似乎并不总是有效,我做错了什么吗?

谢谢

【问题讨论】:

    标签: jquery visibility hidden


    【解决方案1】:

    试试这个:

    if($("#messageBox").is(':hidden')){
        // your existing code
    }
    

    或者交替

    if($("#messageBox").is(':visible') === false){
        // your existing code
    }
    

    希望这能解决您的问题。

    【讨论】:

      【解决方案2】:

      如果这些是您切换可见性的唯一方法,那么最简单的选择就是检查 div #messageBox 是否已经具有 msg-error 类。

      if(!$('#messageBox').hasClass("msg-error")) {
          $("#messageBox").addClass('msg-error').text("Your selected time is no longer available due to the appointment duration. Please select an alternative time.").show();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-30
        • 2017-07-04
        相关资源
        最近更新 更多