[解決済み] jQueryの.hide()とCSSでdisplay: noneを設定することの違いについて
2022-03-02 12:53:52
質問
どっちがいいんだろう?
.hide()
を書き出すよりも早いです。
.css("display", "none")
しかし、その違いは何でしょうか。また、どちらも実際にHTML要素に対して何をしているのでしょうか。
解決方法は?
に関するjQueryのページより .hide() :
マッチした要素はアニメーションなしですぐに隠されます。これは .css('display', 'none') とほぼ同じですが、displayプロパティの値がjQueryのデータキャッシュに保存され、後で初期値に戻すことができるようになります。もしある要素のdisplay値がinlineであった場合、いったんhiddenにしてから表示すると、再びinlineで表示されます。
ということが重要な場合、以前の値に戻すことができるのは
display
を使用したほうがよいでしょう。
hide()
なぜなら、そうすれば前の状態が記憶されるからです。それ以外には、特に違いはありません。
$(function() {
$('.hide').click(function(){
$('.toggle').hide();
setDisplayValue();
});
$('.show').click(function(){
$('.toggle').show();
setDisplayValue();
});
});
function setDisplayValue() {
var display = $('.toggle')[0].style.display;
$('.displayvalue').text(display);
}
div {
display: table-cell;
border: 1px solid;
padding: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
<button class="hide">Hide</button>
<button class="show">Show</button>
</p>
<div class="toggle">Lorem Ipsum</div>
<p>
The display value of the div is:
<span class="displayvalue"></span>
</p>
関連
-
[解決済み】npm install --legacy-peer-deps は具体的に何をするのですか?どんなときに推奨されるのか/どんな使用例が考えられるのか?
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み】event.stopPropagationとevent.preventDefaultの違いは何ですか?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] CSSの親セレクタはありますか?
-
[解決済み] CSSでcellpaddingとcellspacingを設定する?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] event.preventDefault() vs. return false
-
[解決済み] SCSSとSassの違いは何ですか?
-
[解決済み] angular-routeとangular-ui-routerの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Google Conversionsが動作しない - スクリプトが読み込まれない
-
[解決済み】別のjsファイル内でJavaScriptの関数を呼び出す
-
[解決済み】コンソールがUnterminated JSX contentsエラーを投げる【終了しました
-
[解決済み】エラー:リクエストのエンティティが大きすぎる
-
[解決済み】FirefoxでGoogle Maps V3をリモートで使用すると「googleが定義されていません」と表示される。
-
[解決済み】リソースはドキュメントと解釈されるが、MIMEタイプはapplication/zipで転送される
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント
-
[解決済み] JavaScript style.display="none "とjQuery .hide()のどちらが効率的か?