2

と の両方を使用$('#element').css('height', 10)しまし$('#element').height(10)た。どの方法がより良い方法ですか? それとも、両方ともまったく同じ方法で高さを変更しますか?

4

4 に答える 4

2

違いは、ボックスの高さを設定しようとするの.css()に対し、インライン スタイル プロパティの値を指定するだけであるということです。ドキュメントheight()から:

.height(value) は、CSS の box-sizing プロパティの値に関係なく、ボックスのコンテンツの高さを設定することに注意してください。

違いのデモンストレーションについてはこのフィドルを参照し、ソースコードの関連部分も見てください

于 2013-08-08T18:46:36.650 に答える
1

css() に 'px' を指定する必要があるという事実以外に、大きな違いはないようです。m90 がコメントで述べたように (そして投稿されたフィドルでわかるように)、それぞれが border-box プロパティによって異なる影響を受けます (css() はパディングを考慮して高さに含めますが、height() はしません) )、どちらを使用するかを決定する際には、これも考慮する必要があります。

jQuery API では、height() について次のように述べています。

Note that .height(value) sets the content height of the box regardless of the 
value of the CSS box-sizing property.

速度に関しては、これを見つけました:http://jsperf.com/jquery-css-height-vs-method-height/2

別の一般的なリンクは次のとおりです。http://jquerybyexample.blogspot.com/2010/08/width-vs-csswidth-and-height-vs.html

于 2013-08-08T18:57:30.087 に答える
1

.height()これら2つの間で(そのまま)の方が優れて.css()いますが、整数をパラメーターとして受け取ることが想定されていないためです...それは.css('height', '10px').

一般に、私.css()はそれが何をするか (要素のスタイルを設定する) を正確に知っているので、使用することを好みます.height()が、不思議な方法で機能します (たとえ単純であっても、すぐには明らかではありません)。

さらに.css()、高さを'45%'またはに設定できます'auto'が、これらのことはできません.height()

于 2013-08-08T18:46:00.320 に答える