人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

外部CSSや、sytleタグで指定した background-position の値を Javascriptで取得する方法を
教えてください。

<style type="text/css">

#hogehoge{
background-image: url('/hogehoge.gif');
background-position: 10px 10px;
}

</style>

elem = document.getElementById('hogehoge');

FireFox2 の場合
document.defaultView.getComputedStyle(elem, null)["backgroundPosition"];

上記の方法では、値が取れませんでした(空、空欄)。
backgroungPosition → background-position とかに変えたら
undefined となりました。

IE6の場合
elem.currentStyle["backgroundPosition"];
では、値が取れませんでしたが、backgroundPositionX backgroundPositionY
で値は取れました。

また、background のほかの属性
backgroundImage
backgroundColor
backgroundAttachment
backgroundRepeat
は、IE6 FireFox2 ともに取得できます。

この辺の動作がわかりにくく、仕様の問題なのか
なにか根本的に間違っているのかわかりません。

●質問者: ぶしみち
●カテゴリ:インターネット ウェブ制作
✍キーワード:background background-image background-position CSS GIF
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● redwing1
●35ポイント

http://www.red.oit-net.jp/tatsuya/java/reference/style.htm

http://javascriptist.net/ref/element.style.backgroundPosition.ht...

◎質問者からの返答

element.style について聞いているのではありません。


2 ● Mars
●35ポイント

StyleSheetsObjectから読み取る、ってのはだめでしょうか?

検索するためには少なくともセレクタがわかっている必要があるので代替手段にはなり得ないのですが。

※参考 http://wiki.bit-hive.com/tomizoo/pg/Javascript%20cssRules


調べてみましたが、

IEのように内部的にxとyに分解してるらしい事まではわかったんですが

それを参照する手段は見つけられませんでした。

※参考 http://suika.fam.cx/gate/2005/sw/background-position#anchor-4

◎質問者からの返答

ありがとうございます。

やっぱり、直接参照する方法はないんですかねぇ。

StyleSheetsObject からの読み取りも検討してみます。

ただ、CSSの記述が多いときに、複数のクラスがかかってる場合などは

検索するのは難しそうですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ