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))行中有一个异常,所以我用这个解决方案修复了它:
var $rows = $("tr", $(parsedXML));
try {
$rows.insertAfter($(elem));
} catch (error) {
// we got <table><tbody><tr... from the server and need to paste only all <tr> 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”并不是那么干净,但对我有用。我们从服务器获得了<table><tbody><tr...
,需要在<tr>
中我们的tr后只粘贴所有$(elem)