2011-10-26 4 views
1

私は、次のHTMLコードを持っている:IE内のJavaScriptでIEでは、要素内の<option>要素の座標はどのようにして見つけることができますか?

<html> 
    <head> 
    <title>Cheeses</title> 
    </head> 
    <body> 
    <select name="multi" id="multi" multiple="multiple"> 
     <option selected="selected" label="emmental">Emmental</option> 
     <option label="roquefort" >Roquefort</option> 
     <option label="parmigiano">Parmigiano</option> 
     <option label="cheddar">Cheddar</option> 
    </select> 
    </body> 
</html> 

を、どのように私は<option>要素の1の大きさや位置を得るのですか?次の操作は機能しません。

var selectEl = document.getElementById("multi"); 
var options = selectEl.getElementsByTagName("option"); 
var rect = options[1].getBoundingClientRect(); 

rectが返されますが、rectのすべてのプロパティがゼロになります。私はJQueryのようなライブラリに頼るのではなく、ストレートなJavaScriptソリューションを好むだろうが、もし必要ならば、JQueryの答えを受け入れるだろう。

答えて

0

オプションには寸法がありません。含まれる選択エレメントの幅は、&の高さです。

var width = select.style.width 
var height = select.style.height 

親要素のオフセット幅と高さを調整しているため、画面の位置を計算するのが難しくなります。

jQueryにはこれらの値を処理するメソッドがありますが、必ずしも正確ではありません。

+0

あなたは答えが「あなたはできません」と言っています。 '