0

以下のコードを使用して、div が非表示かどうかを確認しています。

if(document.getelementbyid("header").style.visible){
  alert("Yes");
}
else{
  alert("No");
}

コードビハインドheader.visible = falseでは条件に応じて定義されているため、表示可能なプロパティを確認します。しかし、それは常に「いいえ」を返します。正しい方法を教えてください。

4

5 に答える 5

2

可視プロパティではなく可視性があり、次の値を持つことができます。

visible
hidden
collapse

MDN の記事を参照してください。

于 2013-05-17T11:26:41.283 に答える
2

表示と可視性を使用して、要素が表示されているかどうかを確認できます

    var elem = document.getelementbyid("header");
    if(elem .style.visibility == "hidden" || elem.style.display == 'none'){
        alert("No");  // element is visible
    }
    else{
         alert("Yes");
    }
于 2013-05-17T11:27:37.633 に答える
1

style.visibleJavaScriptには存在しないことに注意してください。divを非表示にする方法に応じて、確認する必要があります

if(document.getelementbyid("header").style.visibility != "hidden") {
   //visible
} else {
   //not visible
}

また

if(document.getelementbyid("header").style.display != "none") {
   //visible
} else {
   //not visible
}

同時に、上記のコードは、正確な要素が表示されていないか、可視性が非表示になっているかどうかのみを確認します。ただし、同時に、親要素が表示されていない場合は表示されます。そのため、次のことを行うことができます。

var element = document.getelementbyid("header");
if(element.offsetWidth > 0 || element.offsetHeight > 0) {
   //visible
} else {
   //not visible
}

ブラウザは、要素が表示されていない場合、要素の幅と高さを常に 0 に戻します

于 2013-05-17T11:26:08.673 に答える
1

jQuery を使用している場合:

var isVisible = $("#header").is(":visible");
于 2013-05-17T11:29:13.673 に答える