jQuery:Javascript在设置值时抛出错误“操作不安全”

我试图为那些不解释输入元素的占位符属性的浏览器找到一个后备解决方案。 我有这个简单的jQuery脚本,但它会抛出一个错误

SecurityError: "The operation is insecure. this.value = val;" 

这是我的脚本:

 $('document').ready(function(){ $('input').each(function() { if ($(this).val() === '' || $(this).val() === undefined) { $(this).val($(this).attr('placeholder')); } }); }); 

任何想法我能做什么? 或者我做错了什么? 或者这个错误意味着什么? 它发生在Firefox中,还没有在其他浏览器中测试过。

我刚刚在我的项目中解决了类似的问题。 事实certificate,我试图设置输入的值。 您似乎可能面临同样的问题,因为您正在选择文档的所有输入,而不管其类型如何。

如果安装了firebug,请尝试通过在尝试修改输入值之前插入log命令来查找导致此错误的输入。

 $('document').ready(function(){ $('input').each(function() { if ($(this).val() === '' || $(this).val() === undefined) { // Log goes here window.console.log( 'There is an input without a value!', this); $(this).val($(this).attr('placeholder')); } }); }); 

我有一个不安全的警告和antoherfunction。 原因就在于,使用作为参数给出的数组调用库函数,但它期望一个元素(dom)。 结果是预期的,但我敢肯定,这不会是任何情况。 因此,请检查变量的类型是否是您(或另一方)想要的变量类型。