[解決済み] jQueryでの要素の合計幅(パディングとボーダーを含む
2022-04-24 21:55:30
質問
お題のように、jQueryを使って、ボーダーやパディングを含む要素の全幅を取得するにはどうしたらよいでしょうか? 私はjQuery dimensionsプラグインを持っていて、以下を実行しています。
.width()
私の
760px-wide
,
10px padding
DIVが返す
760
.
もしかしたら私のやり方が悪いのかもしれませんが、もし私の要素が
780 pixels wide
と表示され、Firebugでは
10px padding
を呼び出すと、その上に
.width()
は760しか表示されないのですが、どうなんでしょう?
何かご指摘があれば、ありがとうございます。
解決方法は?
[更新】のお知らせ]
元の回答はjQuery 1.3より前に書かれたもので、当時存在した関数だけでは全体の幅を計算するのに十分ではありませんでした。
現在では
ジェイピー
を正しく表現するために、jQueryは関数
外側幅
と
アウターハイト
を含む。
border
と
padding
をデフォルトで使用し、さらに
margin
の場合、関数の最初の引数が
true
[オリジナル回答]
は
width
メソッドでは、もはや
dimensions
プラグインが追加されたからです。
jQuery Core
必要なことは、その特定の div の padding、margin、border の幅の値を取得し、その値を
width
メソッド
こんな感じ。
var theDiv = $("#theDiv");
var totalWidth = theDiv.width();
totalWidth += parseInt(theDiv.css("padding-left"), 10) + parseInt(theDiv.css("padding-right"), 10); //Total Padding Width
totalWidth += parseInt(theDiv.css("margin-left"), 10) + parseInt(theDiv.css("margin-right"), 10); //Total Margin Width
totalWidth += parseInt(theDiv.css("borderLeftWidth"), 10) + parseInt(theDiv.css("borderRightWidth"), 10); //Total Border Width
読みやすくするために複数行に分割する
そうすれば、cssからpaddingやmarginの値を変更しても、常に正しい計算値が得られます。
関連
-
[解決済み] jQueryを使って要素のIDを取得するにはどうすればよいですか?
-
[解決済み] jest.fn()の値はモック関数またはスパイである必要があります。
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] jQueryで複数のクラスを持つ要素を選択するにはどうすればよいですか?
-
[解決済み] jQueryで名前を指定して要素を選択するには?
-
[解決済み] jQueryでdata属性で要素を選択する
-
[解決済み] jQuery データ属性の値に基づいて要素を検索する方法は?
-
[解決済み] jQueryがどのバージョンで読み込まれているかを確認するには?
-
[解決済み] jQueryで選択されたオプションのインデックスを取得する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
echarts-all.js:1 Uncaught TypeError: nullのプロパティ'getAttribute'を読み取ることができません。
-
[解決済み] jQueryのpreventDefault()が発動しない
-
[解決済み] クラスメソッド内の "this "をタイプスクリプトで記述する
-
[解決済み] jQuery.ajaxでmultipart/formdataを送信する。
-
[解決済み] jQuery: テーブルの行数を数える
-
[解決済み] クリックボタンでクリップボードにコピー
-
[解決済み] jQueryを使用してCSSのdisplay noneまたはblockプロパティを変更するにはどうすればよいですか?
-
[解決済み] jQueryを使用してDropDownListの値を設定するにはどうすればよいですか?
-
[解決済み】jQueryで入力不可属性をトグルする。
-
[解決済み】iPad版SafariでjQueryを使ってタッチイベントを認識させる方法は?可能でしょうか?