对于ie8,jquery insertAfter

问题描述 投票:1回答:2
        var attachmentDeleteMainModal = $('#attachment-deletion');
        var attachmentDeleteMainModalClone = attachmentDeleteMainModal.clone();
        attachmentDeleteMainModalClone.attr('id', 'attachment-deletion-'+'main');
        attachmentDeleteMainModalClone.insertAfter('#attachment-deletion');

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

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

这是什么解决方案?任何有识之士

jquery internet-explorer-8 append insertafter
2个回答
0
投票

你可以试试

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

0
投票

在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)

© www.soinside.com 2019 - 2024. All rights reserved.