在 IE 中,如何找到

发布于 2024-12-11 22:04:06 字数 894 浏览 0 评论 0原文

我有以下 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>

在 IE 中的 JavaScript 中,如何获取 元素之一的尺寸和位置?执行以下操作不起作用:

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

返回一个矩形,但该矩形的所有属性都为零。我更喜欢直接的 JavaScript 解决方案,而不依赖于像 JQuery 这样的库,但如果必须的话,我会接受 JQuery 答案。

I have the following HTML code:

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

In JavaScript in IE, how do I get the dimensions and position of one of the <option> elements? Doing the following doesn't work:

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

A rect is returned, but it has zero for all properties of the rect. I would prefer a straight JavaScript solution, not relying on a library like JQuery, but if I have to, I'd accept a JQuery answer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝礼 2024-12-18 22:04:06

选项不会有任何尺寸,包含的选择元素具有宽度和宽度。高度。

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

计算屏幕位置比较棘手,因为您需要计算出父元素的偏移宽度和高度。

jQuery 有计算这些值的方法,但它们并不总是那么准确。

The options won't have any dimensions, the containing select element has the width & height.

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

Calculating the screen position is trickier because you have the work out the offset widths and heights of the parent elements.

jQuery has methods that work out these values, but they aren't always that accurate.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文