我可以使用什么代替:indeterminate jQuery选择器来避免IE 8中的exception?

我有这样的代码

if ($('#chkCheckAll').is(':indeterminate') == true) { } 

但它正在8中抛出exception

在Jquery中可以做什么而不是使用ie8

改为使用它:

 var $allChk = $('#chkCheckAll'); if ($allChk[0] && $allChk[0].indeterminate ) { ... } 

问题是IE8 querySelectorAll实现不支持’:indeterminate’伪表达式。 但在你的情况下,它实际上不需要使用它,因为你可以查询DOM元素本身的相应属性

这是一篇很棒的文章http://css-tricks.com/indeterminate-checkboxes/

IE8使用.prop进行排序,并且也有黑客攻击

  function ts(cb) { if (cb.readOnly) cb.checked=cb.readOnly=false; else if (!cb.checked) cb.readOnly=cb.indeterminate=true; } 

增强Ghetto处理程序以在表单提交中包含数据:

        

结果是没有(未选中)cb1 = on(选中)或cb1i = on(不确定)。 请注意,对于nextSibling在这种情况下工作,两个复选框之间必须没有空格,否则它将为您提供文本节点。