【问题标题】:jquery attr() do not work in IEjquery attr() 在 IE 中不起作用
【发布时间】:2012-09-21 01:30:56
【问题描述】:

我使用jquery做一些事情,我使用attr()方法获取id属性,在Chrome和Firefox中运行良好,但在IE9和Opera中不行,部分代码如下:

parent = $(this).parents('.every_note');        
loan_id = parent.attr('id');

在行中

loan_id = parent.attr('id');

Opera 说:Unhandled Error: 'parent.attr' is not a function, 并在 IE 中说:does not support attr() method or attribute.

但是如果我在浏览器的控制台中测试它,我可以使用这个方法, 谁能告诉我为什么?谢谢

【问题讨论】:

  • 控制台记录 $(this) 看看它返回了什么
  • 我在 IE9 中尝试过相同的代码,它运行良好
  • 会不会是“父”这个名字的问题?当我添加断点时,父级是未定义的,但是当我添加断点时在 chrome 中是可以的,这是有线的。

标签: jquery internet-explorer opera attr


【解决方案1】:

有时 IE 不喜欢 "$" 而 "jQuery" 对我有用。在较旧的 IE 中,全局变量与 jQuery 结合使用还有另一个问题。

试试:

var parent = jQuery(this).parents('.every_note');        
var loan_id = parent.attr('id');

Article about jQuery-IE-problems (german)

【讨论】:

    【解决方案2】:

    使用

    parent = $(this).parents('.every_note');   
    loan_id = $("+parent+").attr('id');
    

    【讨论】:

    • 那些+ 符号应该是什么意思?
    • 父变量包含html元素,+用于javascript连接
    • 啊,我明白了。届时它将无法以当前的形式工作。您在发布答案之前是否对此进行了测试?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 2011-11-14
    • 2016-11-02
    • 1970-01-01
    • 2012-08-16
    相关资源
    最近更新 更多