我正在使用JavaScript将特定div从页面复制到新页面。我需要删除新页面中每个表的ID属性。
似乎因为我正在从第一页复制内容,所以我可以在将字符串写入第二页之前从字符串中过滤出来。 jQuery可以将变量作为其“焦点”吗?而不是操纵整个DOM,操纵特定的字符串?
我有一个我正在谈论的非工作版本:
var currentContent = window.open('','currentContentWindow');
var htmlToCopy = '<html><head><title></title></head><body>' + window.frames[0].document.getElementById('PageContentPane').innerHTML + '</body></html>';
$("table", htmlToCopy).removeAttr('id');
currentContent.document.open();
currentContent.document.write(htmlToCopy);
currentContent.document.close();
答案 0 :(得分:2)
您需要通过调用$(html)
来创建一个jQuery对象,对其进行操作,然后通过调用html()
来恢复HTML。
例如:
var currentContent = window.open('','currentContentWindow');
var htmlToCopy = '<html><head><title></title></head><body>' + window.frames[0].document.getElementById('PageContentPane').innerHTML + '</body></html>';
var newStructure = $("<div>" + htmlToCopy + "</div>");
newStructure.find("table").removeAttr('id');
currentContent.document.open();
currentContent.document.write(newElements.html());
<div>
元素允许我获取内部 HTML并获取您正在寻找的HTML。
答案 1 :(得分:1)
谁不只是将ID=
作为字符串删除并且一起忘记DOM操作?
答案 2 :(得分:0)
首先使字符串成为jQuery对象,然后使用它:
htmlToCopy = $(htmlToCopy).find("table").removeAttr('id').end().html();