微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 这是一个错误吗?请检查一下

HTML
<div contentEditable="true">testing....</div>

jQuery的

$(document).ready(function(){
   $('[contenteditable]').removeAttr('contenteditable');
});

以上代码很好,工作正常.你能感受到它here.

现在,试试吧

$('[contentEditable]').removeAttr('contentEditable'); 
// notice the CamelCase of the string contentEditable

在FF 3.6中,它在控制台上出错

An invalid or illegal string was
specified” code: “12
elem[ name ]
= value;

div仍然可以编辑.

我怀疑它是jQuery选择器,但不是.通过进一步检查,它是在.removeAttr(‘contentEditable’);上传递的参数.它适用于所有小写字母.所以,我认为应该是所有小写字母.我很好奇所以我尝试添加CLass作为属性并执行.removeAttr(‘CLass’);.但它的工作没有错误.

那么,contentEditable如何给我这个错误呢?

更新

来自Kobi,似乎它实际上接受任何情况,除了contentEditable(我也尝试过).

CamelCase

解决方法

这不是关于小写字母,而是关于确切的套管.除contentEditable之外的任何其他外壳都可以工作,例如:removeAttr(‘ConTentEditable’);.
我找不到问题的确切来源,我猜这是Firefox限制.

删除它之前似乎是jQuery sets the attribute to an empty string,这是造成错误的原因.这似乎更好:

$('[contentEditable]').attr('contentEditable',false);

原文地址:https://www.jb51.cc/js/157670.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐