我已经通过使用data()而不是attr()解决了这个问题,但我仍然想知道这是否只是我,导致它是什么:
我正在使用jQuery 1.7.1和TinyMCE 3.5b3(jQuery包).没有其他的JS库.
当代码链接被点击时,此代码输出“string”和锚标签的href.
$('a.page_item_delete').on('click',function(event){ event.preventDefault(); var $this = $(this); console.log(typeof $this.attr('href')); console.log($this.attr('href')); });
当我在页面上的某些文本区域激活TinyMCE时,它会输出“Object”,当然,attr()将停止返回一个预期值.我正在通过以下方式激活TinyMCE:
$(‘textarea.tinymce’).tinymce(options);
有没有人用TinyMCE体验过这种行为?是否有一个已知的错误或解决方法?为什么TinyMCE显然影响页面上的无关HTML元素?
解决方法
我有同样的问题.它是由tinymce-jquery包引起的,覆盖了jquery对象的attr和css方法.似乎(可悲的是)解决方案是不使用jquery版本的tinymce.
我还没有解决为什么这不是jquery 1.6的问题,是1.7的问题.
编辑:
我正在使用这样的jQuery插件:
$('.wysiwyg','#EditForm').tinymce({ -- SETTING HERE });
现在我已经完成了以下操作来复制使用jquery插件所需的行为:
$('.wysiwyg','#EditForm').each(function(){ id = $(this).attr('id'); var ed = new tinyMCE.Editor(id,{ -- SETTINS HERE -- }); ed.render(); });
希望这可以帮助