假设我有 2 个元素,div1 和 div2。当我点击 div1 时,div2 应该.toggleClass()
在visibility=hidden
和之间visibility=visible
。这工作正常。但是当我尝试这个时:
if($('#div2').css('visibility') == 'hidden') {
$('#div1').replaceWith('<span> Duh </span>');
}
什么都没有发生。如果我改成'hidden'
它就'visible'
可以了。但这不是我想要的。我知道当使用可见性=隐藏时,元素仍然被认为是可见的,但是不应该.css('visibility') == 'hidden'
检查元素的样式是否设置为可见性=隐藏?在我的情况下应该是真的。
我也试过
if($('#div2').hasClass('visHidden')) {
$('#div1').replaceWith('<span> Duh </span>');
}
但什么也没有发生。
问题可能是当 DOM 加载时没有设置 visHidden 和 visVisible 类?因为如果单击元素,我只使用 jQuery 设置它们。如果是这种情况,有没有办法绕过它?而且我不能使用显示属性。