脱jQuery .innerHeight() .innerWidth() .outerHeight() .outerWidth()
今回は高さ、幅関係の書き換えです。前回の記事で書かなかった「height()、width() で値を取得」についても書きます。
詳しくは 脱jQuery その1 をご覧ください。
.innerHeight()
height + padding(上下) の値を取得する命令です。変更等は jQuery でも出来ません。取得だけです。
jQuery
var myHeight = $("#main").innerHeight()
書き換え JavaScript
var myHeight = document.getElementById("main").clientHeight
myHeight に値が入ります。単位はなく「30」など数値で返ってきます。innerHeight = clientHeight のようなイメージです。padding 付きの高さを返します。
.innerWidth()
width + padding(左右) の値を取得する命令です。これも取得だけ行います。
jQuery
var myWidth = $("#main").innerWidth()
書き換え JavaScript
var myWidth = document.getElementById("main").clientWidth
myWidth に値が入ります。innerHeight と考えかたは同じです。padding 付きの値で単位なしで返します。
.outerHeight()
height + padding(上下) + border(上下) の値を取得する命令です。これも取得だけです。
jQuery
var myHeight = $("#main").outerHeight()
書き換え JavaScript
var myHeight = document.getElementById("main").offsetHeight
myHeight に値が入ります。outerHeight = offsetHeight のような感じです。こちらも同様、単位なしの「180」のような形で数値で返ります。border まで入った数値となります。
.outerWidth()
height + padding(左右) + border(左右) の値を取得する命令です。これも取得だけです。
jQuery
var myWidth = $("#main").outerWidth()
書き換え JavaScript
var myWidth = document.getElementById("main").offsetWidth
myWidth に数値で値が返ります。
.height()(値を取得)
jQuery
var myHeight = $("#main").height()
書き換え JavaScript
var myMain = document.getElementById("main");
var myHeight = document.defaultView.getComputedStyle(myMain, null).height
値は myHeight に入ります。
height の値取得には .css() で CSS の値を取得する命令を使っています。
参考:.css() の書き換え
.width()(値を取得)
jQuery
var myWidth = $("#main").width()
書き換え JavaScript
var myMain = document.getElementById("main");
var myWidth = document.defaultView.getComputedStyle(myMain, null).width
値は myWidth に数値で入ります。
まとめ
jQuery | JavaScript |
---|---|
A.innerHeight() | A.clientHeight |
A.innerWidth() | A.clientWidth |
A.outerHeight() | A.offsetHeight |
A.outerWidth() | A.offsetWidth |
A.height() | document.defaultView.getComputedStyle(A, null).height |
A.width() | document.defaultView.getComputedStyle(A, null).width |