CSS JQuery 位置选择器在 IE 上为空

Posted

技术标签:

【中文标题】CSS JQuery 位置选择器在 IE 上为空【英文标题】:CSS JQuery Position Selector is null on IE 【发布时间】:2011-06-15 03:03:40 【问题描述】:

我的 JQuery position() 代码有问题。 该代码在 Chrome/Firefox 上完美运行,但在 IE 上失败。

JS代码为:

function myFunc() 

var x = $("#menu li.active");
if (x == null)
  alert('x is null');
else  
  alert(x.position().left + " " + x.position().top);


$(document).ready(function()  myFunc(); );

html 是:

<ul id="menu">
    <li class="active"><a href="test.php"><span>Test 1</span></a></li>
    <li><a href="test2.php"><span>Test 2</span></a></li>
</ul>

普通浏览器返回left和top值,IE说:

消息:'position().left' 为空或不是对象

提前致谢。

【问题讨论】:

你用的是什么版本的IE? 我使用 jsbin 测试了您的代码,并且在 IE8 和 IE7 上运行良好:jsbin.com/aruza3。你用的是什么 JQuery 版本? 【参考方案1】:

我发现了问题。 HTML 标头是:

<html dir="rtl">

这就是导致我的问题的原因。当我将页面设置为 LTR 时,它也适用于 IE。

谢谢。

【讨论】:

以上是关于CSS JQuery 位置选择器在 IE 上为空的主要内容,如果未能解决你的问题,请参考以下文章

jquery图像选择器在IE7中不起作用

有没有办法让 CSS :not() 选择器在 IE 和 Chrome 中工作?

使用 jQuery/JavaScript 在 IE8 中伪造 CSS :only-child

CSS选择器的兼容性

为啥我的 jQuery :not() 选择器在 CSS 中不起作用?

为啥我的 jQuery :not() 选择器在 CSS 中不起作用?