HTML
<div contentEditable="true">testing....</div>
jQuery的
$(document).ready(function(){ $('[contenteditable]').removeAttr('contenteditable'); });
现在,试试吧
$('[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(我也尝试过).
解决方法
这不是关于小写字母,而是关于确切的套管.除contentEditable之外的任何其他外壳都可以工作,例如:removeAttr(‘ConTentEditable’);.
我找不到问题的确切来源,我猜这是Firefox限制.
我找不到问题的确切来源,我猜这是Firefox限制.
在删除它之前似乎是jQuery sets the attribute to an empty string,这是造成错误的原因.这似乎更好:
$('[contentEditable]').attr('contentEditable',false);