2

我在 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: Object does not support property or method

4

3 回答 3

2

试试这个条件:

this.is(':checked')

IE:

jQuery.fn.firma_wpis = function(form,wymag){
  var dur = 350;
  var wymag='1';
  if(this.is(':checked')){
    $("#wpis_firma").show(dur);
  }
于 2013-04-29T21:31:19.153 回答
0

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

于 2013-04-30T12:10:50.120 回答
0

您的问题可能在this这里:if(this.attr('checked')==true){.

我想你的意思是$(this)

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

然而,这可能是由于 jQuery 加载不当或其他因素造成的。如果您可以创建和引用jsFiddle 将会很有帮助。

于 2013-04-29T21:17:52.223 回答