原生js取得幅の高さとjquery取得幅の高い方法関係の比較


説明:1、高さを取得する場合は取得幅と同じですので、以下は幅を取得する場合のみです。2、以下に述べるすべての方法と属性の戻り値は単位を持たない。3、説明を簡単にするために、以下の場合は略語で表します。Obj->元のJSでDOMオブジェクトを表します。JQueryではJQueryオブジェクトWidth->obj.style.width Offset Width->obj.offset Width->obj.obj.width()$inner Width->obj.inner Width()$-left-widthとborder-right-widthと、元のJS取得幅の関連属性はwidthとoffset Widthである。widthの取得方法は、Obj.style.widthであり、対象が埋め込み方式で幅を設定している場合にのみ得られます。さもなければ、空の文字列が返されます。offset Widthの値はJQueryで対象を獲得したouter Widthと同じで、offset Widthは標準ではないが、非常に支持されている属性である。JQueryの幅を得る方法はwidth()、inner Width()、outer Width()の3つがあります。具体的な使い方は、Obj.width()、obj.inner Width()、obj.outer Width()です。width()はオブジェクトのコンテンツ幅であり、innerWidth()はオブジェクトのコンテンツ幅と塗りつぶし幅の和を得、outerWidth()は枠、塗りつぶし幅とコンテンツ幅を含む幅を得ている。この5つの方法の間の関係は以下の通りである。offset Width=border+padding+width;inner Width=padding+width;outer Width=border+padding+width;この5つの方法はfirefox、chrome、opera、safari、ie 6、ie 7、ie 8、ie 9と互換性があります。2つの問題があります。二回目のオープン時に結果はfirefoxと一致します。2、ie 6は幅の高さを設定していない場合、スクロールバーが現れない。