Jquery .导致IE错误的附加
我有以下代码,在FF中运行良好,但是Jquery .导致IE错误的附加,jquery,append,Jquery,Append,我有以下代码,在FF中运行良好,但是.append()函数在IE中出现错误。有人能告诉我我的代码是否有问题,或者这是否是IE问题吗 其目的是向表单中添加一个隐藏字段(根据用户单击的内容而有所不同),然后我提交表单 $(function(){ $('a.js-make-profile-image').click(function(){ $('.append-here').append('<input type="hidden" name="action-type"
.append()
函数在IE中出现错误。有人能告诉我我的代码是否有问题,或者这是否是IE问题吗
其目的是向表单中添加一个隐藏字段(根据用户单击的内容而有所不同),然后我提交表单
$(function(){
$('a.js-make-profile-image').click(function(){
$('.append-here').append('<input type="hidden" name="action-type" value="profile-image" />');
document.forms['attachment-action-form'].submit();
});
});
$(函数(){
$('a.js-make-profile-image')。单击(函数(){
$('.append here')。append('');
document.forms['attachment-action-form'].submit();
});
});
IE调试器对方法或属性访问发出错误调用,调试器在jQuery中高亮显示此文本-this.nodeType==1&&this.appendChild(a)
1)您有一个额外的代码>
$('a.js-make-profile-image').click(function(){;
在这行的末尾。
如果这不能解决您的问题,请使用IE报告的错误更新您的问题
2) 我认为您的name
属性的值也可能导致冲突。
您既有type
属性,又有name=“type”
:
由于您通常也可以通过
访问DOM元素,因此.type
应该返回什么?元素类型
属性值还是DOM中输入元素的引用
因此,请尝试更改名称
属性值
3) 如果什么都没有改变,就试着改变代码
$('.append-here').append('<input type="hidden" name="type"
value="profile-image" />');
$('.append here')。append('');
在
$('').attr({
“类型”:“隐藏”,
“名称”:“动作类型”,
“值”:“配置文件图像”
}).appendTo($('.append here');
而且,正如您所发现的,请确保元素append here
不是空元素 复制此错误的唯一方法是使用IE8并将隐藏字段附加到像图像标记这样愚蠢的东西上
你能检查一下“.append here”是一个div吗?如果您可以粘贴有帮助的html,它在哪个版本的IE上失败了?单击(function()后,您是否应该有额外的分号{;您得到的错误消息是什么?它看起来应该可以工作。我知道如果DOM的其余部分是currupt,IE可能会有问题,可能会打开其他标记?如果您只是尝试.append(“test”)它能工作吗?哪一行引起了你的问题?@NathanFitzgerald:这是超级好的,但不会引起问题。@NathanFitzgerald-Well spotterd,但仍然得到一个错误。至于消息-对方法或属性访问的意外调用(调试器在jQuery中高亮显示此文本-this.nodeType==1&&this.appendChild(a)
)。这是一个不错的地方,但遗憾的是这并没有引起问题。至于消息-对方法或属性访问的意外调用(调试器在jQuery中高亮显示此文本-this.nodeType==1&&this.appendChild)(a)
)。好主意,我把“类型”改为“动作类型”,但我仍然得到了同样的错误。好吧,最初这是一个令人伤心的结果,但我现在已经对它进行了排序。之所以发生这种情况,是因为我的类在这里附加了,我想IE不喜欢。添加了
,现在一切似乎都正常了。谢谢你的帮助。@DavidGard-你试图附加一个输入元素在另一个输入元素中?@DavidGard太奇怪了……你应该到处都有一个错误,不仅仅是在IEF上。我没有尝试附加div,我不知道它必须是。问题现在解决了。谢谢。
$('<input />').attr({
"type" : "hidden",
"name" : "action-type",
"value" : "profile-image"
}).appendTo($('.append-here'));