对于ie8,jquery insertAfter

var attachmentDeleteMainModal = $('#attachment-deletion'); var attachmentDeleteMainModalClone = attachmentDeleteMainModal.clone(); attachmentDeleteMainModalClone.attr('id', 'attachment-deletion-'+'main'); attachmentDeleteMainModalClone.insertAfter('#attachment-deletion'); 

这个方法将我的新选择器添加到Chrome中的DOM,但是在ie8中不起作用,这是我到目前为止测试的全部内容

append而不是insertAfter不会在任一浏览器中创建所需的选择器。 但是在ie8中它根本不会创造任何东西

这是什么解决方案? 任何洞察力都赞赏

你可以试试

  $('#attachment-deletion').after(attachmentDeleteMainModalClone); 

在IE8中,我在$ rows.insertAfter($(elem))行中有一个exception,所以我用这个解决方案修复了它:

  var $rows = $("tr", $(parsedXML)); try { $rows.insertAfter($(elem)); } catch (error) { // we got  from it after our tr in $(elem) var divData = $("table", $(parsedXML)); var divTmp = document.createElement("div"); divTmp.innerHTML = divData[0].xml; var children = divTmp.firstChild.firstChild; var fragment = document.createDocumentFragment(); var current = children.firstChild; while (current) { fragment.appendChild(current.cloneNode(true)); current = current.nextSibling; } elem.parentNode.insertBefore(fragment, elem.nextSibling); }

对不起,“。firstirstChild.firstChild”不是很干净,但对我有用。 我们从服务器得到

并且只需要在$(elem) tr之后粘贴它的所有