javascript - jquery $ 函数在 IE 中返回不同的结果

标签 javascript jquery

$('.Schedule .Full input').each(function(i)
 {
        var controls = $('.Morning input, .MorningPart input, .Afternoon input, .AfternoonPart input', $(this).parents('.Schedule'));
        alert(controls.length + " Conflicting Controls\n"+
              $(this).parents('.Schedule').attr('id') + " Parent");
 });

当我在 Firefox 中运行此代码时,此函数的第一次执行会产生一个警告框,内容如下:

17 Conflicting Controls
Monday Parent

在 IE 6 或 7 中运行的完全相同的页面会产生一个警告框,内容如下:

45 Conflicting Controls
Monday Parent

Firefox 是对的,只有 17 个冲突控件。 IE 识别的 45 个控件不是“星期一”的后代。如果我将“星期一”指定为 $()​​ 函数的上下文,为什么 IE 会返回它之外的控件?

最佳答案

试一试

var controls = $(this).parents('.Schedule').children('.Morning input, .MorningPart input, .Afternoon input, .AfternoonPart input')

关于javascript - jquery $ 函数在 IE 中返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/830601/

相关文章:

jquery - 逐字动画 css3 或 jquery

javascript - 如何从表单收集数据并通过 ajax POST 发送(从 jQuery 到 Vanilla JS)

JavaScript 正则表达式异常(无效组)

javascript - 过滤 Ember.ListView 中的某些元素。 JSfiddle里面

javascript - 如何使用 PHP 和 AJAX 删除/编辑 sql 条目?

jQuery 轮播整个幻灯片随图像/文本/等变化

javascript - 运行 jquery 媒体查询而不重新加载

javascript - Asp.Net 中的动态菜单网格

javascript - jQuery Animate 和定位元素

javascript - 向滚动函数添加响应条件