Javascript jQuery在IE9中返回0个输入
我有一个奇怪的问题。我正在并行工作,在Windows7上测试IE9中的一个站点 我的设置是jquery2.1.1,bootstrap3.2 我正在用Parsley验证一个表单,如果course在Chrome中运行良好,但在IE中却什么也没做。当进一步测试时,我意识到DOM根本没有更新。所以我把它简化成这样,看看发生了什么:Javascript jQuery在IE9中返回0个输入,javascript,jquery,internet-explorer-9,Javascript,Jquery,Internet Explorer 9,我有一个奇怪的问题。我正在并行工作,在Windows7上测试IE9中的一个站点 我的设置是jquery2.1.1,bootstrap3.2 我正在用Parsley验证一个表单,如果course在Chrome中运行良好,但在IE中却什么也没做。当进一步测试时,我意识到DOM根本没有更新。所以我把它简化成这样,看看发生了什么: $(document).ready(function() { console.log('ready') /* The form submit
$(document).ready(function()
{
console.log('ready')
/*
The form submit handler
*/
$('.submit').click(function(){
fields = $('#promo-form').find(':input');
console.log($(fields).length)
});
});
Chrome Console:
ready
15
IE 9 Console (with F12 Developer Tools)
LOG: ready
LOG: 0
我可以让IE识别一些简单的选择器,如$('input')、$('form'),但不能使用jQuery方法来查找集合。在Mac上的Chrome浏览器中,一切都很好
有什么想法吗?
非常感谢。
Rich您是否尝试过:
刚刚在IE10/11中测试过,手头没有IE9机器
$(document).ready(function () {
alert($("#promo-form :input").length);
});
如果您不想使用文本区域/按钮,请在输入之前删除:,它们将不会被计数
$('#promo-form').find(':input');
//Combine the selector to make
$("#promo-form :input")
更新:我们现在已经在IE 8-11上测试了这一点,并且正在进行所有的测试。尝试使用jQuery 1.11,它在IE上运行得更好。在版本2之前,我使用的是1.11,这给了我同样的问题。@b1j在这种情况下,他只选择输入元素,“:input”选择器包括文本区域、选择和按钮.fields.length或$(fields).length返回0在IE中。我不确定从这里走到哪里。虽然我没有投你反对票,但我不确定发生了什么。也许是系统或IE的特定版本才是问题所在。因为我没有Windows,所以我在Mac上运行它,上面的选择器对你有用吗Richard?而不是使用。查找添加:输入到选择器。结果相同。我要看看我是否能找到一个合适的Windows设置,或者签出一个像BrowserStack这样的跨浏览器服务来仔细检查情况。我的特定查询没有理由返回零,因为在其他浏览器中也可以。