IE 10与jQuery的问题

IE 10与jQuery的问题,jquery,internet-explorer-10,Jquery,Internet Explorer 10,我对IE10中的jQuery有一些问题。 某些脚本在该版本的IE中不起作用。 在其他浏览器中(也在最旧的IE中),一切正常。 下面是其中一个的代码 jQuery.fn.firma_wpis = function(form,wymag){ var dur = 350; var wymag='1'; if(this.attr('checked')==true){ $("#wpis_firma").show(dur); } 我还添加了示例代码以查看它是否有效,但不幸的是没有

我对IE10中的jQuery有一些问题。 某些脚本在该版本的IE中不起作用。 在其他浏览器中(也在最旧的IE中),一切正常。 下面是其中一个的代码

jQuery.fn.firma_wpis = function(form,wymag){
  var dur = 350;
  var wymag='1';
  if(this.attr('checked')==true){
    $("#wpis_firma").show(dur);
  }
我还添加了示例代码以查看它是否有效,但不幸的是没有

$(document).ready(function() {
  alert("Works fine");
}); 
这是用户单击复选框时的简单隐藏显示事件。 在IE10开发者工具中,我发现了以下错误:
SCRIPT438:对象不支持属性或方法

您的问题可能是
此处:
如果(this.attr('checked')==true){

我想你的意思是
$(这个)

在上下文中,
引用被调用的匿名函数,不一定是jQuery的实例,因此
.attr
方法可能不可用。在jQuery选择器中包装上下文指示符将返回具有正确方法的对象

但是,这可能是由于jQuery加载不正确或其他因素造成的。如果您可以创建并引用一个,这将非常有用。

尝试以下条件:

this.is(':checked')
即:


我解决了这个问题。脚本位于不同的位置,并不是每个php文件都检测到jQuery。因此,我在特定的文件中添加了一个指向jQuery的链接,它可以正常工作。
我知道这不是一个完美的解决方案,但代码很混乱

请创建一个JSFIDLE来演示这个问题。
if(this.attr('checked')==true)
应该是
if(this.prop('checked'))
我在您的代码中没有看到任何会导致“SCRIPT438:对象不支持属性或方法”的内容,请提供更多的上下文。(当然,除非您根本不包括jQuery)这里是JSFIDLE也不起作用。此代码基于osCommerce。实际上,
是一个jQuery对象,不需要用
$()
包装它。根据我的经验,
$(此)
通常是不同的。在插件主体中,
this
指的是调用插件的实际jQuery集合,因此实际上不需要将
this
包装到jQuery对象中……这就像调用
$($(this))
jQuery.fn.firma_wpis = function(form,wymag){
  var dur = 350;
  var wymag='1';
  if(this.is(':checked')){
    $("#wpis_firma").show(dur);
  }