jQuery.css() - marginLeft と margin-left の違いは? 質問する

jQuery.css() - marginLeft と margin-left の違いは? 質問する

jQuery.css() では、同じ結果を得るために次の 2 つの関数を使用できると言われています。

$(".element").css("marginLeft") = "200px";

$(".element").css("margin-left") = "200px";

marginLeftドキュメントでは次のように使用されているので、私は常にこれを使用しています。

出典: jquery.org

短縮 CSS プロパティ (例: margin、background、border) はサポートされていません。たとえば、レンダリングされたマージンを取得する場合は、$(elem).css('marginTop') や $(elem).css('marginRight') などを使用します。

jQuery がmarginLeftだけでなく も許可しているのはなぜですかmargin-left? これは無意味に思えますし、CSS に変換するためにさらに多くのリソースを使用しますmargin-left

ベストアンサー1

jQuery の基盤となるコードはこれらの文字列を DOM に渡し、非常によく似た方法で CSS プロパティ名または DOM プロパティ名を指定できるようになります。

element.style.marginLeft = "10px";

は以下と同等です:

element.style["margin-left"] = "10px";

jQuery では、なぜ margin-left だけでなく marginLeft も許可されているのでしょうか? CSS margin-left に変換するのは無意味ですし、より多くのリソースを使用するように思えます。

jQueryは実際には何も特別なことをしていません。渡された文字列を変更したりプロキシしたりするかもしれません.css()が、実際には仕事がないjQuery チームによって導入され、どちらの文字列も渡すことができるようになりました。DOM が作業を行うため、追加のリソースは使用されません。

おすすめ記事