如何筛选要写入新文档的HTML,删除JavaScript中的某些类和/或ID

How to filter HTML to be written to a new document, removing certain classes and/or IDs in JavaScript?

本文关键字:JavaScript 删除 ID HTML 何筛选 筛选 新文档 文档      更新时间:2023-09-26

在这里,我尝试用JS:制作一个新文档

  objDoc.open();
  objDoc.write( "<!DOCTYPE html PUBLIC '"-//W3C//DTD XHTML 1.0 Transitional//EN'" '"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'">" );
  objDoc.write( "<html>" );
  objDoc.write( "<body>" );
  objDoc.write( "<head>" );
  objDoc.write( "<title>" );
  objDoc.write( document.title );
  objDoc.write( "</title>" );
  objDoc.write( jStyleDiv.html() );
  objDoc.write( "</head>" );
  objDoc.write( this.html() );
  objDoc.write( "</body>" );
  objDoc.write( "</html>" );
  objDoc.close();

在我关闭文档之前(可能在我将内存中另一个文档的html写入新文档的正文之后),我想删除任何与某个类和/或ID匹配的元素。jQuery解决方案可以。有办法做到这一点吗?

谢谢!

AresAvatar建议的解决方案是正确的,添加了一个解决您提到的问题的解决方案:要执行的jQuery命令是

$(".myclass", objDoc).remove();

jQuery的第二个参数是执行命令的上下文。这样它就不会应用于整个页面!请参阅下面jQuery文档中的URL。

api.jquery.com/jquery/

平移

使用jQuery remove函数。

$(".myclass").remove();

$("#myID").remove();


编辑:这不会改变CSS。类似CSS的符号,如".myclass"是一种选择节点的jQuery方法,它使用类似CSS的符号,这样程序员就可以使用熟悉的方法来选择DOM节点。remove()API从DOM中删除所有匹配的节点。例如,执行$(".myclass").remove(),您将得到:

在执行$(".myclass").remove()之前

<html>
    <head>
        <style type="text/css">
            .myclass {
                border: 1px solid black;
            }
        </style>
    </head>
    <body>
        <p class="myclass">Paragraph one</p>
        <p>Paragraph two</p>
    </body>
</html>

执行$(".myclass").remove()之后

<html>
    <head>
        <style type="text/css">
            .myclass {
                border: 1px solid black;
            }
        </style>
    </head>
    <body>
        <p>Paragraph two</p>
    </body>
</html>
相关文章: