在ie8 / ie7不工作之后的Jquery
我正在尝试在现有DOM元素之后插入数据。 我收到错误“无效的参数”。 – this.parentNode.insertBefore
这在IE8或IE7中不起作用。 想法?
Jfiddle示例: http : //jsfiddle.net/zJ3Fe/
Click $('#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; } },