变量为jQuery选择器焦点

时间:2010-12-17 17:46:26

标签: javascript jquery

我正在使用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();

3 个答案:

答案 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();