Получить высоту элемента option с помощью javascript? - PullRequest
0 голосов
/ 22 ноября 2010

Как обычно, элементы опции отображаются, когда выбирается элемент select, и я хочу получить высоту элементов опции.

Спасибо.

Редактировать @david выбор старой школы

<select>
<option>a</option>
<option>s</option>
</select>

Ответы [ 4 ]

6 голосов
/ 22 ноября 2010

Это невозможно, поскольку на самом деле отображаются не элементы опций.

Стандарт HTML определяет только то, что браузер должен предоставлять какой-то способ выбора из опций, а не способ его отображения.Поэтому не существует стандартного способа получения какой-либо информации о том, как она отображается.

Обычные браузеры отображают параметры в виде некоего выпадающего списка, но другие браузеры могут отображать его совершенно по-другому.Например, в некоторых браузерах для мобильных телефонов отображается всплывающее окно, которое закрывает весь экран.

1 голос
/ 22 ноября 2010

Я считаю, что это то, что вы хотите

$(document).ready(function () {
  $("#mySelect").change(function () {
    alert($(this.options[this.selectedIndex]).height());
  });
});

Вот демо http://jsfiddle.net/xf3wD/

0 голосов
/ 22 ноября 2010

На выбор вы можете сделать это:

$(document).ready(function() {

    $('#select').click(function() {
        var H = $(this).children().height();
        alert(H);
    });

});
0 голосов
/ 22 ноября 2010

Если вы используете библиотеку, такую ​​как jquery, вы можете сделать:

$('#select option:first').height()

См. здесь .

Если вы не используете jquery, посмотрите на offsetHeight . Это должно дать вам то, что вы хотите.

...