1

ユーザーの行動に基づいて要素を非表示にする必要があります。彼が「aonly」を押すと、私は次のように言うことができます

for(i=0;i<document.getElementsByClassName("b").length;i++){
      document.getElementsByClassName("b")[i].style.visibility="hidden";
 }

しかし、これはリスト内の要素の間に空のスペースを残します(非表示の要素はまだスペースを占有します)、これは見栄えが悪いですが、これを行うためのより良い方法があります。

4

4 に答える 4

4

style.display="none"を試してください

visibilty = "hidden"を使用しても、要素はページ上で計算されたスペースを占有します。

jQUeryの使用を検討することもできます。これにより、このようなタスクが非常に簡単になります。

于 2012-07-18T20:17:10.820 に答える
2

うん。visibilityCSSプロパティをに設定していますhidden。これにより、要素は表示されなくなりますが、それでもスペースを占有します。

displayプロパティをに設定しますnone。これにより、表示されなくなり、スペース占有しなくなります。少なくとも表示に関する限り、ドキュメントから効果的に削除されます。

for(i=0;i<document.getElementsByClassName("b").length;i++){
    document.getElementsByClassName("b")[i].style.display = "none";
}
于 2012-07-18T20:18:14.190 に答える
1

display: noneの代わりに使用してくださいvisiblity: hiddenvisibilityプロパティは要素のみを非表示にします。プロパティはdisplay実際にレイアウトから要素を削除します。

于 2012-07-18T20:18:13.393 に答える
0

可視性:非表示の場合、javascriptパーサーは要素のcssプロパティを解析して非表示にします。これは、実際にはdomに存在しますが、ユーザーには表示されません。display:noneの場合、javascriptパーサーがdisplayを持つ要素を見つけると、その要素を無視して先に進みます。したがって、ユーザーに表示する必要があります。

于 2013-04-20T02:43:59.713 に答える