在ie8 / ie7不工作之后的Jquery

我正在尝试在现有DOM元素之后插入数据。 我收到错误“无效的参数”。 – this.parentNode.insertBefore

这在IE8或IE7中不起作用。 想法?

Jfiddle示例: http : //jsfiddle.net/zJ3Fe/

Click 

Billing/Shipping Address















$('#delete_promo').click(function() { $('#customer-info').after('
Credit Card
'); $('#UserFirstName').val('Test'); return false; });

我不认为这是评论。 即使没有它们,我仍然会得到错误。

但是,如果我在#customer-info包含缺少的 close-tag,问题就会消失。 (validation者是你的朋友!)

但是,奇怪的错误,可能与IE给出错误嵌套的HTML时所做的奇怪的不一致层次结构技巧有关。

我刚解决了这个问题。 这是div的结尾处的疯狂html评论。 那些在第4103行搞乱了jquery。’this.nextSibling’作为DispHTMLCommentElement存储在DOM中。 出现这是导致问题。 我不确定在DOM中保存评论是否标准。 似乎Safari,Chrome或FF都不这样做。

 after: function() { if ( this[0] && this[0].parentNode ) { return this.domManip(arguments, false, function( elem ) { this.parentNode.insertBefore( elem, this.nextSibling ); }); } else if ( arguments.length ) { var set = this.pushStack( this, "after", arguments ); set.push.apply( set, jQuery(arguments[0]).toArray() ); return set; } },