我想用jquery (如果是可确认的或javascript )对显示或可见性更改(实际上是显示:块或可见性:可见)进行操作,但是我在这个论坛上做了很多研究,我无法为类似问题提供任何建议的解决方案。
我到过的地方越近:
if($('.class').css('display') == 'none'){ // do something }但很明显,这只是个假设,没有抓住事件,什么都没有.
有人能帮帮我吗?谢谢
发布于 2022-06-08 13:49:32
给div元素一个惟一的类并检查该div的长度,如果div的长度大于0,则表示div存在,反之亦然。
if($(".HideDiv").length <1){
<--HideDiv doesnot exist-->
do your code here
}else{
<--HideDiv exists-->
}<--suppose-->
<div class"HideDiv"></div>
发布于 2022-06-09 05:54:15
您可以使用MutationObserver
看起来是这样的:
var observer = new MutationObserver(function(mutations) {
if (mutations[0].oldValue.contains('display: none')) {
alert('The element got visible')
}
else if (mutations[0].oldValue.contains('visibility: hidden')) {
alert('The element got visible')
}
else if (mutations[0].oldValue.contains('visibility: visible')) {
alert('The element got hidden')
}
else if (mutations[0].oldValue.contains('display: ')) {
alert('The element got hidden')
}
})
observer.observe(document.querySelector('#someselector'), {attributes: true, attributeOldValue: true})如果具体情况需要帮助,请检查docu:Mozilla MutationObserver文档
发布于 2022-06-09 06:31:08
<button id="btn" style="display: block;">btn</button>
<p id="demo"></p>
<script>
if(document.getElementById("btn").style.display === "block"){
document.getElementById("demo").innerHTML = document.getElementById("btn").style.display;
}
</script>
Or
<button id="btn">btn</button>
<p id="demo"></p>
<script>
if(document.getElementById("btn").style.display === "block" || document.getElementById("btn").style.display === ""){
document.getElementById("demo").innerHTML = "notDisplay "+document.getElementById("btn").style.display;
}
</script>
display未设置为js,则返回""空字符串。https://stackoverflow.com/questions/72546053
复制相似问题