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);

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...