上記のDiv要素を隠すと、なぜこの条件が満たされないのかわかりません。 div idがvisibleと等しいかどうかを書き留めて、ユーザーに「コンテンツが表示されている」と警告する方法を見つけようとしています。 「可視」私のdiv idが隠し等しい場合、ユーザー「隠されたコンテンツ」idが可視であるか隠されているかを調べる
//document.getElementById("myDiv").style.visibility = "visible";
document.getElementById("myDiv").style.visibility = "visible";
var status = document.getElementById("myDiv").style.visibility;
if($("#myDiv").is(":visible") == true){
alert("visible JQuery");
}
if (document.getElementById("myDiv").style.visibility === "hidden")
{
alert("visible JS");
}
alert(status);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="myDiv">Hello</div>
jQueryドキュメントの ':visible'セレクタ(https://api.jquery.com/visible-selector/)では、' visibility:hidden'または 'opacity:0'を持つ要素が可視であると見なされますが、それらはまだレイアウト内のスペースを消費しています。そのため、jQueryの条件が満たされます。 'if($("#myDiv ").css(" visibility ")!==" hidden ")'これもできます。可視性**が** '隠されている 'ことを確認するので、JSの条件も満たされます。 '==='を '!=='に変更してください。 – blex