我有一些代码可以将文本添加到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();
}
它似乎总是起作用,我做错了吗?
由于
答案 0 :(得分:4)
请改为尝试:
if($("#messageBox").is(':hidden')){
// your existing code
}
或者替代
if($("#messageBox").is(':visible') === false){
// your existing code
}
希望这能解决您的问题。
答案 1 :(得分:1)
如果这些是您切换可见性的唯一方法,那么最简单的选择就是检查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();
}