В IE, как я могу найти координаты элемента <option>в элементе <select>? - PullRequest
1 голос
/ 26 октября 2011

У меня есть следующий HTML-код:

<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>

В JavaScript в IE как получить размеры и положение одного из <option> элементов? Выполнение следующих действий не работает:

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

Прямоугольник возвращается, но он имеет ноль для всех свойств прямоугольника. Я бы предпочел простое решение JavaScript, не полагаясь на такую ​​библиотеку, как JQuery, но если бы пришлось, я бы принял ответ JQuery.

1 Ответ

0 голосов
/ 26 октября 2011

Параметры не будут иметь никаких размеров, содержащийся элемент select имеет ширину и высоту.

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

Вычислить положение экрана сложнее, потому что вы работаете с шириной и высотой смещения родительских элементов.

В jQuery есть методы, которые обрабатывают эти значения, но ониТ всегда так точно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...