カテゴリ: JavaScript 更新日: 2026/03/02

JavaScriptで要素の高さ・幅を取得する方法を完全解説!offsetHeightなどDOM操作入門

JavaScriptで要素の高さ・幅を取得する方法(offsetHeightなど)
JavaScriptで要素の高さ・幅を取得する方法(offsetHeightなど)

先生と生徒の会話形式で理解しよう

生徒

「Webページの箱みたいな部分が、どれくらいの大きさかをJavaScriptで知ることはできますか?」

先生

「できます。JavaScriptのDOM操作を使うと、要素の高さや幅を数値として取得できます。」

生徒

「高さとか幅って、画面で見た目の大きさですよね?」

先生

「その通りです。今回はoffsetHeightoffsetWidthなど、初心者でも使いやすい方法を順番に見ていきましょう。」

1. JavaScriptのDOM操作とは?

1. JavaScriptのDOM操作とは?
1. JavaScriptのDOM操作とは?

JavaScriptのDOM操作とは、Webページの中にある文字や画像、ボタンなどを、プログラムから自由に扱う仕組みのことです。DOMとは「書類の設計図」のようなもので、HTMLで書かれたページを、JavaScriptが理解しやすい形にしたものです。

パソコンを触ったことがない人でも、ノートに書いた文章を後から消したり書き足したりするイメージをすると分かりやすいです。DOM操作は、画面に表示されている要素を、あとから調べたり動かしたりするために使います。

2. 要素の「高さ」と「幅」とは何か

2. 要素の「高さ」と「幅」とは何か
2. 要素の「高さ」と「幅」とは何か

Webページの要素とは、四角い箱だと考えると理解しやすいです。この箱には、縦の長さである高さと、横の長さである幅があります。JavaScriptでは、この箱の大きさを数値で取得できます。

例えば、ボタンが思ったより小さいときや、画面いっぱいに画像を広げたいときに、高さや幅を知ることが役立ちます。数値は「ピクセル」という単位で取得されます。ピクセルとは、画面を作る小さな点のことです。

3. offsetHeightとoffsetWidthの基本

3. offsetHeightとoffsetWidthの基本
3. offsetHeightとoffsetWidthの基本

offsetHeightoffsetWidthは、要素の高さと幅を簡単に取得できるプロパティです。プロパティとは、あらかじめ用意された情報箱のようなものです。

これらは、要素の中身だけでなく、枠線や余白も含めた実際の見た目の大きさを教えてくれます。そのため、初心者でも「画面で見た通りのサイズ」を扱いやすいのが特徴です。


const box = document.getElementById("box");

const height = box.offsetHeight;
const width = box.offsetWidth;

console.log(height);
console.log(width);

この例では、boxという名前の要素の高さと幅を取得しています。document.getElementByIdは、HTMLの中から指定した名前の要素を探す命令です。

4. 実行結果のイメージ

4. 実行結果のイメージ
4. 実行結果のイメージ

上のコードを実行すると、コンソールと呼ばれる画面に数値が表示されます。これは、実際の要素の大きさを表しています。


200
300

この場合、高さが200ピクセル、幅が300ピクセルという意味になります。数字だけを見ると難しく感じますが、定規で箱を測っていると考えると分かりやすいです。

5. clientHeightとscrollHeightとの違い

5. clientHeightとscrollHeightとの違い
5. clientHeightとscrollHeightとの違い

高さを取得する方法は、offsetHeightだけではありません。clientHeightは、枠線を除いた中身の高さを取得します。一方、scrollHeightは、スクロールで隠れている部分も含めた全体の高さを表します。

長い文章が入った箱を思い浮かべてください。見えている部分がclientHeight、実際に中に入っている全文の長さがscrollHeightです。用途によって使い分けることが大切です。

6. 幅を取得するときの考え方

6. 幅を取得するときの考え方
6. 幅を取得するときの考え方

幅についても、高さと同じ考え方ができます。offsetWidthは見た目通りの横幅を取得し、clientWidthは枠線を除いた内側の幅を取得します。

画面サイズに合わせてレイアウトを調整したいとき、幅の取得はとても重要です。JavaScriptのDOM操作を使うことで、ページを開いた人の環境に合わせた表示が可能になります。

7. 初心者がつまずきやすいポイント

7. 初心者がつまずきやすいポイント
7. 初心者がつまずきやすいポイント

よくある間違いとして、HTMLが読み込まれる前に高さや幅を取得しようとしてしまうことがあります。その場合、正しい数値が取れません。

JavaScriptは、ページが表示されてから動かすことが基本です。要素が存在してからサイズを調べる、という順番を意識するだけで、エラーを減らすことができます。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptでPromiseの型推論をマスター!非同期処理とasync/awaitの基礎講座
New2
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
New3
JavaScript
JavaScriptのBigInt型とは?大きな整数の扱い方と活用例
New4
JavaScript
JavaScriptでスクロール位置を取得・操作する方法を完全解説!scrollTopなどDOM操作入門
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのクロージャーとは?仕組みと実践例をやさしく解説
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptで新しい要素を作成する方法(createElement, appendChildなど)
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptで親要素・子要素・兄弟要素を取得する方法を初心者向けに徹底解説
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptでフォーム要素を操作するDOMテクニックを初心者向けに徹底解説
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptでnull・undefinedを型ガードするテクニックを徹底解説!初心者でも理解できる安全なコードの書き方
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptでasync/awaitをマスター!非同期処理の基本とPromiseの使い方を徹底解説
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptのonclick・onchangeなどの基本イベントを理解しよう