jQuery子和祖先选择器在IE 8中不起作用

jQuery子和祖先选择器在IE 8中不起作用,jquery,internet-explorer,css-selectors,Jquery,Internet Explorer,Css Selectors,在jQuery中,子选择器应该在IE7+中工作,但在IE8中,特定的选择器路径对我不起作用。给定以下代码: <html> <head> <script type="text/javascript" src="jquery-min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('.

在jQuery中,子选择器应该在IE7+中工作,但在IE8中,特定的选择器路径对我不起作用。给定以下代码:

<html>
  <head>
    <script type="text/javascript" src="jquery-min.js"></script>
    <script type="text/javascript">
      $(document).ready(function() {
        $('.a > div a').text("Found!");
      });
    </script>
  </head>
  <body>
    <div class="a">
      <div>
        <div>
          <a href="#">Not Found</a>
        </div>
      </div>
    </div>
  </body>
</html>

$(文档).ready(函数(){
$('.a>div a').text(“找到!”);
});

“未找到”保留在
元素中。如果我删除其中一个div,选择器就可以工作。我的选择器是否不正确,或者这是一个已知或发现的jQuery错误?我们使用的是1.4.1版,但我刚刚验证了jQuery 1.4.4中出现的相同行为。

不幸的是,我现在没有windows计算机。但如果它在IE8中真的不起作用,你可能应该填补一个bug

无论如何,为了避免使用选择器,您可以始终使用

$('.a > div').find('a').text('Found!');

在IE8上对我有效也对我有效。执行此行“警报($);”时,它是否会提醒任何事情?当不在JSFIDLE中运行它时,它是否对你们两人都有效?它也适用于我,但在我的浏览器中直接运行它时,它不起作用。JSFIDLE是否在外部浏览器中运行它?哦,
alert($)
工作正常。请记住,如果删除了其中一个子div,文本就会发生变化,因此jQuery本身就可以工作。我提交了一个bug,结果发现它是这个的重复:我提交了一个bug,显然这是一个已知的问题。您的解决方法是合理的(尽管我不能使用它),所以我接受这个答案。@Jacob:我可以问一下为什么您不能使用它吗?我的代码是从另一个源传递的“不透明”jQuery选择器字符串,这样它就可以将主题应用于页面;它本身并不是直接进行选择。您的代码可以工作,但我必须通过JavaScript实际解析选择器,以便我知道如何拆分选择代码。