Jquery .导致IE错误的附加

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"

我有以下代码,在FF中运行良好,但是
.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'));